有一个包含一些 NaN 值的 DataFrame:
df = pd.DataFrame({'A': [1, 1, 1, 1, 2, 2, 2, 2], 'B': [1, 1, np.NaN, 2, 3, np.NaN, 3, 4]})
A B
0 1 1.0
1 1 1.0
2 1 NaN <-
3 1 2.0
4 2 3.0
5 2 NaN <-
6 2 3.0
7 2 4.0
将标签“A”设置为索引:
df.set_index(['A'], inplace=True)
现在有两个组,索引分别为 1 和 2:
B
A
1 1.0
1 1.0
1 NaN <-
1 2.0
2 3.0
2 NaN <-
2 3.0
2 4.0
使用以下命令在 DataFrame 上执行 fillna() 的最佳方法是什么最频繁的每个组的价值?
所以,我想做这样的电话:
df.B.fillna(df.groupby('A').B...)
and get:
B
A
1 1.0
1 1.0
1 1.0 <-
1 2.0
2 3.0
2 3.0 <-
2 3.0
2 4.0
我希望有一种方法,它也适用于多索引。