python - 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 错误?
解决方案
您获得的结果不是数组数组。它是一个带有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)
推荐阅读
- asp.net-core - 使用 Visual Studio 发布工具上的导入文件成功发布网站后出现 404 错误
- python - 'DataFrame' 对象在推荐系统中不可调用
- java - 如何不垂直地连续打印
- javascript - 在js中下载文件后打开联系人应用程序?
- sql - 编写一个 SQL 查询以显示所有客户名称以字母“N”开头的 orderNumber
- ios - OTP Unfilling Circle 动画 Swift 5
- scrapy - Scrappy:从子页面中提取数据
- python - 如何在熊猫分组数据框中的二维列表的行之间应用 Max 函数
- math - TMS320C55X 中的反正切实现
- c++ - 在合并两个数组时,如果将数组大小作为用户的输入,那么它很好,但是如果使用 sizeof() 运算符,那么它是分段错误吗?