【发布时间】:2015-12-01 00:54:12
【问题描述】:
我知道fillna() 方法可用于在整个数据帧中填充 NaN。
df.fillna(df.mean()) # fill with mean of column.
如何将均值计算限制在 NaN 所在的组(和列)。
示例:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': pd.Series([1,1,1,2,2,2]),
'b': pd.Series([1,2,np.NaN,1,np.NaN,4])
})
print df
输入
a b
0 1 1
1 1 2
2 1 NaN
3 2 1
4 2 NaN
5 2 4
输出(在 groupby('a') 之后并用组替换 NaN)
a b
0 1 1.0
1 1 2.0
2 1 1.5
3 2 1.0
4 2 2.5
5 2 4.0
【问题讨论】:
-
对不起,您是专门在这里要求输出的吗?
-
此输出只是一个示例,但假设您在不同的其他列 b、c、d 等中有许多 NaN...
-
将来发布您的完整需求会很有用,因为它很重要并且会影响答案