gpt4 book ai didi

python-3.x - 如何仅获取最大日期值是数据框中一周中有两个日期

转载 作者:行者123 更新时间:2023-12-04 10:46:30 24 4
gpt4 key购买 nike

我有一个名为 Data 的数据框

Date          Value    Frequency
06/01/2020 256 A
07/01/2020 235 A
14/01/2020 85 Q
16/01/2020 625 Q
22/01/2020 125 Q

在这里观察到 6/01/2020 和 07/01/2020 在同一周,即星期一和星期二。
因此,我想从一周中获取最大日期。

我的最终数据框应该是这样的
Date          Value  Frequency
07/01/2020 235 A
16/01/2020 625 Q
22/01/2020 125 Q

我想要一周中的最大日期,就像我在最后的数据框示例中显示的那样。

我是 python 的新手,我正在寻找这个直到现在我还没有找到的答案,请帮忙

最佳答案

首先通过 to_datetime 将列转换为日期时间并使用 DataFrameGroupBy.idxmax 对于每行具有最大日期时间的行 Series.dt.strftime , 最后按 DataFrame.loc 选择行:

df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)

print (df['Date'].dt.strftime('%Y-%U'))
0 2020-01
1 2020-01
2 2020-02
3 2020-02
4 2020-03
Name: Date, dtype: object
df = df.loc[df.groupby(df['Date'].dt.strftime('%Y-%U'))['Date'].idxmax()]
print (df)
Date Value Frequency
1 2020-01-07 235 A
3 2020-01-16 625 Q
4 2020-01-22 125 Q

如果日期时间的格式无法更改:
d = pd.to_datetime(df['Date'], dayfirst=True)
df = df.loc[d.groupby(d.dt.strftime('%Y-%U')).idxmax()]
print (df)
Date Value Frequency
1 07/01/2020 235 A
3 16/01/2020 625 Q
4 22/01/2020 125 Q

关于python-3.x - 如何仅获取最大日期值是数据框中一周中有两个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59681342/

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