python - 我在理解如何正确使用 pandas 旋转数据框时遇到问题
问题描述
我对熊猫还很陌生,一直在尝试了解如何旋转这个数据框。
rootID parentID jobID time
0 A A B 2019-01-30 14:33:21.339469
1 A B C 2019-01-30 14:33:21.812381
2 A C D 2019-01-30 15:33:21.812381
3 E E F 2019-01-30 15:33:21.812381
4 E F G 2019-01-30 16:33:21.812381
进入这样的框架
rootID subID1 subID2 subID3
0 A B C D
1 E F G
有没有办法为此使用 pd.pivot 函数?
解决方案
用于groupby.cumcount
新列,然后用pivot
更改列名add_prefix
,替换缺失值,最后reset_index
用于索引中的列:
df1 = (df.assign(g=df.groupby('rootID').cumcount().add(1))
.pivot('rootID','g','jobID')
.add_prefix('subID')
.fillna('')
.reset_index())
print (df1)
g rootID subID1 subID2 subID3
0 A B C D
1 E F G
推荐阅读
- c - CS50x Pset 2 可读性:为什么 L 和 S 计算不正确?
- android - 我如何将一个班级送到另一个班级?
- android - Android Studio onStart 不执行
- c++ - 代码不为继承的函数参数赋值,也不调用函数
- swift - 有没有办法在不调用它的情况下取消转义闭包?
- python - 如何使用python更改条件“大于或等于”的excel单元格中字符串的字体颜色?
- json - 我还能如何格式化数据?swift parse json - 无法读取数据,因为它的格式不正确
- python-3.x - 为什么 pyinstaller 可执行文件会更改格式和分辨率?
- command-line - 使用 Imagemagick 批量拆分 png RGBA 通道,然后重新组合为分层 PSD
- java - 任务应用程序执行失败:处理中的transformClassesWithDexBuilderForDebug