" TypeError:数据类型不被理解"在阅读csv文件时

时间:2018-06-04 14:45:02

标签: python arrays pandas csv numpy

我正在尝试读取.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 )。 有没有人知道我是否错误地阅读了文件或是否有其他问题?

1 个答案:

答案 0 :(得分:0)

在评论中,你说的是

print(np.dtype)

应该是

print(np.dtype(Ne))

这会产生错误TypeError: data type not understoodnumpy.dtype尝试将转换其参数转换为numpy数据类型对象。它不用于检查参数的数据类型。

对于Pandas DataFrame,请使用dtypes属性:

print(Ne.dtypes)