gpt4 book ai didi

python - 如何查找每月(全年)的最大金额

转载 作者:行者123 更新时间:2023-12-01 08:29:16 25 4
gpt4 key购买 nike

我刚刚开始使用 Pandas 和 Python。我有一个 CSV 转储,用于存放银行的年度交易。每个纳税季节,我都需要准备一份每月(以及特定日期)达到的最大值以及总体最大值的报告:

示例数据:

df = pd.DataFrame(data={'Date': ['2018-01-01','2018-01-05', '2018-05-01'],
'Transaction': ['CREDIT', 'DEBIT', 'CREDIT'],
'Amount': [100.20, -50.00, 200.00]})

我不知道如何在内联 DataFrame 上使用 pd.to_datetime。

尝试df['Date'].apply(pd.to_datetime)但出现错误

ValueError: ('Unknown string format:', 'CREDIT', 'occurred at index # Transaction')

df = pd.read_csv("~/Downloads/cheq.csv", parse_dates=[0], na_values="n/a")
df = pd.DataFrame(data, columns=['Date', 'Transaction', 'Amount'])
df.set_index(['Date'], drop=True, inplace=True)

grouped = df.groupby(pd.Grouper(freq="M")) # DataFrameGroupBy (grouped by Month)

for g, v in grouped:
print(g, v.max())

输出:

2018-01-31 00:00:00 Transaction     DEBIT
Amount 100.02
dtype: object
2018-02-28 00:00:00 Transaction CREDIT
Amount 200
dtype: object

我希望看到的是(某种形式的):

2018-01-01 00:00:00 Transaction     DEBIT
Amount 100.02
2018-02-01 00:00:00 Transaction CREDIT
Amount 200

感谢您的帮助。

最佳答案

您可以转换日期格式,然后应用 groupBy。试试这个!

df = pd.DataFrame(data={'Date': ['2018-01-01','2018-01-05', '2018-05-01'],
'Transaction': ['CREDIT', 'DEBIT', 'CREDIT'],
'Amount': [100.20, -50.00, 200.00]})
df['Date'] = pd.to_datetime(df['Date'])
print(df.groupby(df['Date'].dt.strftime('%B')).max())

#output:
Amount Date Transaction
Date
January 100.2 2018-01-05 DEBIT
May 200.0 2018-05-01 CREDIT

关于python - 如何查找每月(全年)的最大金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53992939/

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