原有的表格会给字符串格式的年月日时间
方法一,将年月分开
import pandas as pd
import numpy as np
# #显示Dataframe所有行
# pd.set_option('display.max_rows',None)
# #显示所有列
# pd.set_option('display.max_columns',None)
excel_data = pd.read_excel('file.xlsx')[['日期', '费用']]
excel_data['年'] = pd.to_datetime(excel_data['日期']).dt.year
excel_data['月'] = pd.to_datetime(excel_data['日期']).dt.month
grouped = excel_data.groupby(by=['年', '月', '费用'])
result = grouped.aggregate({'费用': np.size})
print(result)
result.to_excel('file_统计.xlsx')
效果
方法二,将日期整个进行转化
import pandas as pd
import numpy as np
# #显示Dataframe所有行
# pd.set_option('display.max_rows',None)
# #显示所有列
# pd.set_option('display.max_columns',None)
excel_data = pd.read_excel('file.xlsx')[['日期', '费用']]
excel_data['日期'] = pd.to_datetime(excel_data['日期']).dt.date
excel_data['日期'] = excel_data['日期'].apply(lambda x: x.strftime("%Y年%m月")) #把年月日格式转化为字符串的年月格式
grouped = excel_data.groupby(by=['日期', '费用'])
result = grouped.aggregate({'费用': np.size})
print(result)
result.to_excel('file_统计.xlsx')
效果