python - 如何在python中转换数据框
问题描述
我有一个具有以下值的数据框
Date, value
2017/1/1, 5
2017/4/1, 6
2017/4/5, 12
2017/7/2, 15
2018/4/1, 50
2018/7/7, 11
2017/1/1, 5
我想将此数据框转换为以下格式,其中列是年/月广告值在行中
2017/1 2017/4 2017/7 2018/1 2018/4 2018/7
5 6 15 5 50 11
12
我怎样才能做到这一点?
解决方案
你可以groupby
重塑得到你的结果:
v = (df.set_index('Date')['value']
.groupby(by=lambda x: x.rsplit('/', 1)[0], axis=0)
.apply(list))
pd.DataFrame(v.values.tolist(), index=v.index).T
2017/1 2017/4 2017/7 2018/4 2018/7
0 5.0 6.0 15.0 50.0 11.0
1 5.0 12.0 NaN NaN NaN
推荐阅读
- python - 在作为框架派生类的一部分的按钮派生类上插入带有数字的输入框派生类
- python - 如何使用基类类型提示在函数中传递子类
- node.js - NodeJs 中的 Passport 总是返回 UnAuthorized
- perl - 使用 Time::Piece 的 Perl 脚本在没有输出、没有错误的情况下终止 - 如何调试?
- c# - 如何使用透视相机移动物体并在 Unity3D 中旋转相机?
- python - 使用 Xpath 和 Selenium 抓取和保存数据的问题
- python - Python:如何停止创建大型 if、elif、else 语句?
- c# - Selenium - 尝试使用特定配置文件启动多个实例时出现异常
- sql - 如何在一个查询中完成
- angular - 当我点击添加待办事项时,Url="undefined"