首页 > 解决方案 > Pandas 将 .dat 文件作为数组打开

问题描述

我有以下 .dat 文件

https://github.com/lukepolson/School/blob/master/Phys%20411/Assignment%205/JamesBay_temperature.dat

当我使用 pandas 打开它时

df_james = pd.read_csv('JamesBay_temperature.dat', sep=" ",
                        skiprows=[0,1,2], names=['Temperature'])

它包含的值是一个数组数组:

In [18]: df_james.values
Out[18]:
array([[ 4.89],
       [ 4.89],
       [ 4.89],
       ...,
       [14.77],
       [14.67],
       [14.67]])

为什么熊猫会这样做?是关于我正在打开的文件的问题,还是我使用 pd.read_csv 错误?

标签: pythonpandascsv

解决方案


您获得的结果不是数组数组。它是一个带有float条目的单个 numpy 数组对象:

In [1]: arr = df_james.values

In [2]: type(arr)  # Show object type
Out[2]: numpy.ndarray

In [3]: arr.dtype  # Show data type of array entries
Out[3]: dtype('float64')   

In [4]: arr.shape  # Show number of rows and columns
Out[4]: (2979360, 1)

推荐阅读