Python 3.x 用组的现有值替换NaN
如何通过查看列Python 3.x 用组的现有值替换NaN,python-3.x,pandas,replace,nan,Python 3.x,Pandas,Replace,Nan,如何通过查看列Name,用现有值替换这些NaN?对于CC我希望得到最大值(但是如果它太复杂,那么我可以选择23或45)。预期产出: Name Value 0 AA 33 1 AA 24 2 BB 23 3 BB NaN 4 CC NaN 5 CC 23 6 CC 45 谢谢 您可以分组并使用max进行变换,然后使用fillna: Name
Name
,用现有值替换这些NaN
?对于CC
我希望得到最大值(但是如果它太复杂,那么我可以选择23
或45
)。预期产出:
Name Value
0 AA 33
1 AA 24
2 BB 23
3 BB NaN
4 CC NaN
5 CC 23
6 CC 45
谢谢 您可以分组并使用max进行变换,然后使用fillna:
Name Value
0 AA 33
1 AA 24
2 BB 23
3 BB 23
4 CC 45
5 CC 23
6 CC 45
您还可以将
lambda
与transform
Name Value
0 AA 33.0
1 AA 24.0
2 BB 23.0
3 BB 23.0
4 CC 45.0
5 CC 23.0
6 CC 45.0
伟大的如果我想得到最小值,那么我只需将
max
更改为min
?@AK88是的,没错。。!!
Name Value
0 AA 33.0
1 AA 24.0
2 BB 23.0
3 BB 23.0
4 CC 45.0
5 CC 23.0
6 CC 45.0
df["Value"] = df.groupby('Name').transform(lambda x:x.fillna(x.max()))
df
Name Value
0 AA 33.0
1 AA 24.0
2 BB 23.0
3 BB 23.0
4 CC 45.0
5 CC 23.0
6 CC 45.0