我正在尝试读取.csv文件并将特定范围的值分配给自己的列表以进行索引:
import numpy as np
import scipy as sp
import matplotlib as plot
import pandas as pd
# read in the data held in the csv file using "read_csv", a function built into the "pandas" module
Ne = pd.read_table('Ionosphere_data.csv', sep='\s+', dtype=np.float64);
print(Ne.shape)
print(np.dtype)
# store each dimension from the csv file into its own array for plotting use
Altitude = Ne[:,1];
Time = Ne[0,:];
# loop through each electron density value with respect to
Ne_max = []
for i in range(0,len(Time)):
for j in range(0,len(Altitude)):
Ne_max[j] = np.max(Ne[:,i]);
print Ne_max
#plot(Time,Altitude,Ne_max);
#xaxislabel('Time (hours)')
#yaxislabel('Altitude (km)')
然而,当我运行此代码时,ipython会显示错误消息: " TypeError:数据类型不被理解"在第10行的上下文中。(另一方面注意,当不包括' print(np.dtype)'时,第13行会给出单独的错误消息:" TypeError:unhashable type&#34 )。 有没有人知道我是否错误地阅读了文件或是否有其他问题?
答案 0 :(得分:0)
在评论中,你说的是
行print(np.dtype)
应该是
print(np.dtype(Ne))
这会产生错误TypeError: data type not understood
。 numpy.dtype
尝试将转换其参数转换为numpy数据类型对象。它不用于检查参数的数据类型。
对于Pandas DataFrame,请使用dtypes
属性:
print(Ne.dtypes)