pandas - 在 Pandas 中,如何在数据框的列列表中包含我分组的日期列?
问题描述
我有一个像这样开始的数据框:
df = pd.DataFrame()
df['orders'] = orders_df.groupby(['d'])['order_id'].count()
print(df.columns)
当我执行上述操作时,输出中缺少“d”列df.columns
- 为什么会这样?
其次,我无法df.rename({'d':'date'})
关于如何实现这一目标的任何想法?
解决方案
你可以分组:as_index=False
设置
import pandas as pd
orders_df = pd.DataFrame({'order_id' : [1, 2, 3, 4], 'd' : [2, 2, 3, 3]})
代码
df = pd.DataFrame()
df[['d', 'orders']] = orders_df.groupby(['d'], as_index=False)['order_id'].count()
print(df)
输出
d orders
0 2 2
1 3 2
最后,您需要使用rename with axis=1
:
print(df.rename({'d': 'date'}, axis=1))
输出
date orders
0 2 2
1 3 2
推荐阅读
- c++ - MSVC 编译器尝试调用已删除的复制构造函数,而不是移动地图元素
- django - 正确的日志配置以禁用 django 错误电子邮件
- c++ - 滥用指针会产生分段错误。我仍然不确定如何纠正它
- mysql - Node.js 自动迁移
- html - 如何在 pug 脚本中访问传递给 pug 的变量?
- android - 使用 reactNative 存储大量带有元数据的小文本的好方法是什么?
- html - Materialze Input底部边框底部颜色在焦点上没有改变
- ios - 使用flask get方法从mysql数据库获取数据到ios应用程序的问题
- javascript - 使用评级系统设置半图标
- c++ - 如何在 MFC 应用程序中启动 ZeroMQ 线程?