Python 熊猫多索引列数据帧基于第一级索引填充非NaN值
我有一个数据框架,它有一个多索引,用于列的形式为Python 熊猫多索引列数据帧基于第一级索引填充非NaN值,python,python-3.x,pandas,dataframe,multi-index,Python,Python 3.x,Pandas,Dataframe,Multi Index,我有一个数据框架,它有一个多索引,用于列的形式为(DayType.WORKDAY,0,'flow'),(DayType.WORKDAY,1,'flow'),(DayType.SATURDAY,-1,'flow')。所以它是:DayType,category,“flow”。最后一个总是一样的,与我的问题无关。为了说明我的数据是什么样子,我将发布dataframe的部分屏幕截图: 它包含三天类型的某种形式的平均数据:WORKDAY、SATURDAY、SUNDAY,我想计算WEEKDAY类型。为此,
(DayType.WORKDAY,0,'flow'),(DayType.WORKDAY,1,'flow'),(DayType.SATURDAY,-1,'flow')
。所以它是:DayType,category,“flow”。最后一个总是一样的,与我的问题无关。为了说明我的数据是什么样子,我将发布dataframe的部分屏幕截图:
它包含三天类型的某种形式的平均数据:WORKDAY、SATURDAY、SUNDAY
,我想计算WEEKDAY
类型。为此,我需要一个具有权重的数据帧,该数据帧将包含星期六/星期日的权重1
,以及工作日的权重5,但前提是存在平均值,这意味着没有NaN
为此,我复制了上面显示的数据帧,其中我希望用正确的因子填充非NaN值(示例中DayType.WORKDAY为5,DayType.SATURDAY为1),并将另一个作为NaN
我不知道怎么做。。。我尝试了以下方法:
multiplier_dict = {DayType.WORKDAY: 5, DayType.SATURDAY: 1, DayType.SUNDAY: 1}
days_in_week = 7
divider_df = non_weekdays_df_copy.copy()
for col in divider_df.columns:
divider_df.loc[divider_df[col].notna()] = multiplier_dict[col[0]]
其中,col[0]
是列的日期类型。然而,这用1.0填充了整个数据帧,我不明白为什么
有人知道如何实现我的目标吗