gpt4 book ai didi

python - 按一年中的某天分组

转载 作者:行者123 更新时间:2023-12-01 07:04:21 25 4
gpt4 key购买 nike

如何对数据框进行分组

np.random.seed(42)
days = pd.date_range(start='1/1/2018', end='12/31/2019')
data = np.random.randint(1, high=100, size=len(days))
df = pd.DataFrame({ 'col1':days,'col2': data})
print(df.head())
col1 col2
0 2018-01-01 52
1 2018-01-02 93
2 2018-01-03 15
3 2018-01-04 72
4 2018-01-05 61

按一年中的某一天,生成的数据框如下所示

         min   
01-01 ...
01-02 ...
01-03 ...
01-04 ...
01-05 ...
... ...

即包含每个日期的 col2 上的最小值,其中索引表示月份和日期,例如01-02 是 1 月 2 日吗?

最佳答案

我相信你需要Series.dt.strftime其中 %m 表示月份,%j 表示一年中的日期:

df = df.groupby(df['col1'].dt.strftime('%m-%j'))['col2'].min()
print (df)
col1
01-001 30
01-002 93
01-003 15
01-004 6
01-005 61
..
12-361 18
12-362 47
12-363 17
12-364 14
12-365 15
Name: col2, Length: 365, dtype: int32

%d 表示天数:

df = df.groupby(df['col1'].dt.strftime('%m-%d'))['col2'].min()
print (df)
col1
01-01 30
01-02 93
01-03 15
01-04 6
01-05 61
..
12-27 18
12-28 47
12-29 17
12-30 14
12-31 15
Name: col2, Length: 365, dtype: int32

关于python - 按一年中的某天分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58503442/

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