【发布时间】:2019-10-01 16:59:24
【问题描述】:
我有 2 个数据框
第一个是这样的
Month DayOfWeek Class A1 A2 ... A999
July Monday Bata 7 9 ... 5
July Tuesay Bata 3 1 ... 2
July Sunday Bata 4 5 ... 6
July Monday Adid 9 8 ... 5
July Sunday Adid 4 0 ... 4
Sept Monday Nike 7 5 ... 7
Sept Sunday Nike 8 3 ... 7
Sept Satday Adid 2 7 ... 7
Sept Monday Bata 8 9 ... 4
Oct Monday Nike 4 2 ... 5
Oct Sunday Bata 8 6 ... 3
我的第二个数据框看起来像这样
Month DayOfWeek Class A1 A2 ... A999
Jul Monday Bata 5 7 8
Oct Monday Adid 1 2 3
Sep Monday Bata 3 7 6
Sep Monday Nike 8 3 8
Jul Monday Adid NaN NaN NaN
Sep Sunday Nike NaN NaN NaN
Oct Satday Nike NaN NaN NaN
Sep Monday Bata NaN NaN NaN
名为 df1 的第一个数据帧没有 NaN 第二个数据帧 df2 的几乎一半是 A1 到 A999 列中的 NaN
列数可变,可以从 A1 到 A10 或从 A1 到 A2567
可以是任意数量的列
我想用来自 df1 的 Same Month 和 DayOfWeek 的平均值填充 df2 中的这些 NaN
我之前发布过另一个问题,但情况发生了变化,它已被分成 2 个数据框和未知数量的列
到目前为止我已经这样做了
Mth = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
Wk = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
for m in Mth:
for w in Wk:
print(w,m, df[(df["Month"]==m) & (df["DayOfWeek"]==w) ].mean())
我不知道该去哪里,我怎么能不指定列名来申请所有列
Month DayOfWeek Class A1 A2 ... A999
Jul Monday Bata 5 7 8
Oct Monday Adid 1 2 3
Sep Monday Bata 3 7 6
Sep Monday Nike 8 3 8
Jul Monday Adid NaN NaN NaN <--- Avg of Monday Jul in df1 for each column
Sep Sunday Nike NaN NaN NaN <--- Avg of Sunday Sep in df1 for each column
Oct Satday Nike NaN NaN NaN <--- Avg of Satday Oct in df1 for each column
Sep Monday Bata NaN NaN NaN <--- Avg of Monday Sep in df1 for each column
怎么做?
【问题讨论】: