Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫多索引列数据帧基于第一级索引填充非NaN值_Python_Python 3.x_Pandas_Dataframe_Multi Index - Fatal编程技术网

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填充了整个数据帧,我不明白为什么

有人知道如何实现我的目标吗