首页 > 解决方案 > 转换数据类型 Pandas 数据框

问题描述

从带有它的设置的 Pandas 数据框开始:

B13-111DATA.TIJD    object
dtype: object
                    B13-111DATA.TIJD
StartTime
2020-03-30 00:00:00              292
2020-03-30 00:00:01              292
2020-03-30 00:00:02              292
2020-03-30 00:00:03              292
2020-03-30 00:00:04              292
...                              ...
2020-04-07 23:59:55              333
2020-04-07 23:59:56              333
2020-04-07 23:59:57              333
2020-04-07 23:59:58              333
2020-04-07 23:59:59              333

[777600 rows x 1 columns]

我想将此 Pandas Dataframe 转换为如下结构:

B13-111DATA.TIJD    int64 
dtype: object

或者

B13-111DATA.TIJD    float64
dtype: object

我尝试使用以下行:

df = df[B13-111DATA.TIJD].astype(float)

但它返回给我一个简单的“浮动”并错误我的代码

print(output.columns.values)

出现错误“AttributeError:‘Series’对象没有属性‘columns’”。看起来我的 dataFrame 变成了一个系列。会是这样吗?

很确定这是很多人已经在这里遇到过的简单事情。任何提示或帮助将不胜感激。

标签: pythonpandastypes

解决方案


df问题是(DataFrame 的列)有重新分配 DataFrame 变量Series

df = df['B13-111DATA.TIJD'].astype(float)

为了正确转换分配后列,所以df留下DataFrame

df['B13-111DATA.TIJD'] = df['B13-111DATA.TIJD'].astype(float)
print (df)

推荐阅读