gpt4 book ai didi

python - 如何根据特定列表计算频率?

转载 作者:行者123 更新时间:2023-11-30 22:57:58 25 4
gpt4 key购买 nike

我有一个看起来像这样的DataFrame

                date name
0 2015-06-13 00:21:25 a
1 2015-06-13 01:00:25 b
2 2015-06-13 02:54:48 c
3 2015-06-15 14:38:15 a
4 2015-06-15 15:29:28 b

我想根据特定日期范围计算日期的出现次数,包括未出现在列中的日期(并忽略 name 列中的任何内容)。例如,我的日期范围可能如下所示:

periods = pd.date_range('2015-06-13', '2015-06-16', freq = 'd')

然后,我想要一个类似于以下内容的输出:

date       count    
2015-06-13 3
2015-06-14 0
2015-06-15 2
2015-06-16 0

我还没有找到任何可以让我保留 0 行的函数。

最佳答案

我想你可以先使用date来自 value_countsdate 列然后reindex句点 fillna0。最后将 float 转换为 int by astypereset_index :

df = df['date'].dt.date.value_counts()
print df
2015-06-13 3
2015-06-15 2
Name: date, dtype: int64

periods = pd.date_range('2015-06-13', '2015-06-16', freq = 'd')

df = df.reindex(periods).fillna(0).astype(int).reset_index()
df.columns = ['date','count']
print df
date count
0 2015-06-13 3
1 2015-06-14 0
2 2015-06-15 2
3 2015-06-16 0

关于python - 如何根据特定列表计算频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36395030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com