如何在多索引列中按月按特定日期时间索引分组

2024-10-03 04:39:05 发布

您现在位置:Python中文网/ 问答频道 /正文

  • 数据框显示日期和进出口金额 每天的数据进一步分为沿海和区域数据 一个月
  • 希望实现的目标是加入俱乐部,即汇总所有提交的数据,这是本期一个月的数据 最后,它将只显示一个月的条目 结束日期和添加所有相应字段

这是以下代码:

df=pd.read_csv('output.csv',
             encoding="utf-8",skipinitialspace=True,engine='python')
datadf = df

datadf = datadf.dropna(axis = 0, how ='any')  

datadf = datadf.astype({'ForeignType' : 'category','ImportType' : 'category','ArrDate' : 'datetime64',
                        'DepDate' : 'datetime64'})

# datadf = datadf.groupby(datadf['ArrDate'].dt.strftime('%B'))['ComoQty'].sum()
datadf1 = datadf.groupby(['ArrDate','ImportType','ForeignType'])['ComoQty'].sum()
datadf2 = datadf1.to_frame()
datadf2.fillna(value=0,inplace=True)
# datadf2 = datadf2.reset_index('ImportType')
# datadf2 = datadf2.reset_index('ForeignType')
# datadf2 = datadf2.reset_index('ArrDate')
datadf2

Output by running the above code


Tags: csv数据truedfindexresetgroupbycategory
1条回答
网友
1楼 · 发布于 2024-10-03 04:39:05
datadf1 = datadf.drop(columns='Unnamed: 0')
prac = datadf1
prac =prac.set_index('ArrDate')
prac_dates = prac.copy()

prac = prac.resample('D').apply({'ShipName':'count','ComoQty':'sum'}).reset_index()

prac_dates = ((prac_dates.resample('M').apply({'ComoQty':'sum'}))/1000).reset_index()
prac_dates['Month'] = pd.DatetimeIndex(prac_dates['ArrDate']).strftime('%B')
del prac_dates['ArrDate']
# prac_dates

prac['Month'] = pd.DatetimeIndex(prac['ArrDate']).strftime('%B')
# prac['Month'] = pd.to_datetime(prac['Month'], format='%B')
prac['ArrDate'] = pd.DatetimeIndex(prac['ArrDate']).strftime('%d')

相关问题 更多 >