我希望每天记录交易并记录发生 0 笔交易的天数。
这是我的初始数据框:
df.head()
tr_timestamp text location
2016-01-01 cookies TX
2016-01-01 pizza TX
2016-01-04 apples TX
2016-01-08 bread TX
当我按天运行一个组时,我得到以下信息:
df_by_day = df['tr_timestamp'].groupby(df.tr_timestamp).count()
df_by_day
tr_timestamp
2016-01-01 2
2016-01-04 1
2016-01-08 1
我希望使用 Python/Pandas,其中填充了没有交易的日期,以便我得到以下输出:
df_by_day_filled
tr_timestamp
2016-01-01 2
2016-01-02 0
2016-01-03 0
2016-01-04 1
2016-01-05 0
2016-01-06 0
2016-01-07 0
2016-01-08 1
我已经尝试了以下答案,它们并没有完全给出我需要返回的输出:
Pandas groupby for zero values
Fill Missing Dates in DataFrame with Duplicate Dates in Groupby
谢谢。
最佳答案
你也可以试试:
df_by_day.asfreq('D', fill_value=0)
输出:
tr_timestamp
2016-01-01 2
2016-01-02 0
2016-01-03 0
2016-01-04 1
2016-01-05 0
2016-01-06 0
2016-01-07 0
2016-01-08 1
Freq: D, Name: tr_timestamp, dtype: int64
关于python - 如何用零填充 pandas groupby 列表的缺失日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56653774/