【问题标题】:Python2.7 numpy Histogram: only length-1 arrays can be converted to Python scalarsPython2.7 numpy Histogram:只能将长度为1的数组转换为Python标量
【发布时间】:2017-05-21 21:29:25
【问题描述】:

我正在尝试根据一些测量数据创建直方图。数据格式如下,并保存在一个txt文件中(共约2000行):

17.05.2017 06:22:49;144;-1;550;-12
17.05.2017 06:23:19;143;-1;537;-13 

我想将第 3 列 (550, 537 ...) 和 4 (-12,-13 ...) 中的数据写入直方图

# import    
import sys
import re
import matplotlib.pyplot as plt
import numpy as np

# open file read
try:
    d = open("result_CO2_1705a.txt")
except:
    print("access not successfull")
    sys.exit(0)

# create histogram
daten = d.read()
d.close()
zeilenliste = daten.split("\n")
print zeilenliste

laenge = len(zeilenliste
print laenge

i = 0

li_ppm = []
li_dppm = []
for zeile in zeilenliste:
    if zeile:
        zwliste = zeile.split(";")
        # print zwliste
        li_ppm.append(zwliste[3])


print li_ppm
print li_dppm
ppm_array = np.asarray(li_ppm)
print ppm_array

a = np.histogram(int(ppm_array), 10, laenge, False, None, None)

对于最后一行 a = 我收到错误消息:

only length-1 arrays can be converted to Python scalars

当我第一次使用 numpy 和直方图时,我很乐意收到有关此错误消息根本原因的反馈。

非常感谢你

丹尼尔

【问题讨论】:

    标签: python arrays numpy matplotlib


    【解决方案1】:

    int 是一个 python 命令,只能使用标量(即单个数字)。这就是错误消息告诉您的内容。

    要将 numpy 数组 a 转换为整数,请使用

    a.astype(int)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 2014-09-27
      • 2013-03-15
      • 1970-01-01
      相关资源
      最近更新 更多