首页 > 解决方案 > 在 Pandas 中,如何在数据框的列列表中包含我分组的日期列?

问题描述

我有一个像这样开始的数据框:

df = pd.DataFrame()
df['orders'] = orders_df.groupby(['d'])['order_id'].count()
print(df.columns)

当我执行上述操作时,输出中缺少“d”列df.columns- 为什么会这样?

其次,我无法df.rename({'d':'date'})

关于如何实现这一目标的任何想法?

标签: pandaspandas-groupbydata-science

解决方案


你可以分组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

推荐阅读