【发布时间】:2019-05-28 07:26:37
【问题描述】:
我刚开始使用 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', '发生在索引 #交易')
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
感谢您的帮助。
【问题讨论】: