【发布时间】:2021-09-23 02:02:57
【问题描述】:
这是带有一些 NaN 值的数据框,
data = {'Number':[100,None,None,200,150,None,100,120,110,210,120],
'Street':['A','B','C','D','C','D','A','B','B','D','B']}
df =pd.DataFrame(data)
df
输出:
Number Street
0 100.0 A
1 NaN B
2 NaN C
3 200.0 D
4 150.0 C
5 NaN D
6 100.0 A
7 120.0 B
8 110.0 B
9 210.0 D
10 120.0 B
我想将 'Number' 列的 NaN 值替换为相对于 'Street' 列的同一列的模式。。 p>
我需要的输出是:
Number Street
0 100 A
1 120 B
2 150 C
3 200 D
4 150 C
5 200 D
6 100 A
7 120 B
8 110 B
9 210 D
10 120 B
解释:
例如,考虑在列 Number 中具有 NaN 值的第 1 行,并且对应的 Street 是 B 。 Number 的NaN 值应替换为120.0,这是Number 列相对于Street 的模式。因为,对于 Street B 的列 Number 的其他值是 120.0, 110.0 和 120.0(查看第 7、8、10 行),并且这个模式是120.0。
【问题讨论】:
标签: python pandas dataframe replace nan