python - pandas数据框的数据框转换
问题描述
我想将数据框元素操作为元素的数据类型。下面的示例数据框。
A B C D
1 2 12-03-2010 1
45 acxz 3-02-2010 3
43 2.9 14-08-2010 4
45.3 3.5 23-09-2019 2.46
nan 34.23 09-09-2020 09-02-2015
45 nan sam 10-09-2016
24 45.23 02-03-2021 wax
xyz 32 raz na
将此数据框转换为以下数据框。
A B C D
int int datetime int
int string datetime int
int float datetime int
float float datetime float
string float datetime datetime
int string string datetime
int float datetime string
string int string string
谁能建议我使用熊猫从上述数据中获得以下数据框的任何方法。
解决方案
按类型使用DataFrame.applymap
,转换为字符串并最后使用replace
:
df = pd.DataFrame({
"a": [1, 0.01, 'aaa', pd.to_datetime('2015-01-01')],
"b": ['yy', pd.to_datetime('2015-01-01'), 1, 0]
})
d = {"<class 'pandas._libs.tslibs.timestamps.Timestamp'>":'datetime',
"<class 'int'>":'int',
"<class 'float'>":'float',
"<class 'str'>":'string'}
df = df.applymap(type).astype(str).replace(d)
print (df)
a b
0 int string
1 float datetime
2 string int
3 datetime int
推荐阅读
- jmeter - 在 jmeter 中运行 beanshell 脚本时无法导入 com.paytm.merchant.CheckSumServiceHelper
- vue.js - 如何在插槽项目中向 td 添加自定义类?
- python - 无法从 C++ 中的 .dat 文件中提取实际数据?
- performance - 在 Prometheus 中添加两个值
- reactjs - 如何检查已部署的 React 应用程序的已安装包版本?
- django - 无法使用 runsslserver 启动 django 应用程序
- swift - 从自定义 SKSpriteNode 类设置 SKSpriteNodes 位置
- reactjs - 使用 createMuiTheme() 的 Material-UI 自定义主题不起作用
- google-colaboratory - 在google colab中上传kaggle.json文件时出错
- weblogic12c - 在 weblogic server 中文档的元素内容中发现了一个无效的 XML 字符 (Unicode: 0x0)