python-3.x - 用组的现有值替换 NaN

标签 python-3.x pandas replace nan

    Name     Value
0   AA        33
1   AA        24
2   BB        23
3   BB        NaN
4   CC        NaN
5   CC        23
6   CC        45

如何通过查看 Name 列将这些 NaN 替换为现有值?对于 CC,我想获得最大值(但如果它太复杂,那么我可以使用 2345)。预期输出:

    Name     Value
0   AA        33
1   AA        24
2   BB        23
3   BB        23
4   CC        45
5   CC        23
6   CC        45

谢谢!

最佳答案

你可以用 max 然后 fillna 进行分组和转换:

df['Value'] = df['Value'].fillna(df.groupby("Name")['Value'].transform('max'))
print(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

关于python-3.x - 用组的现有值替换 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63609017/

相关文章:

python-3.x - 如何在 Vaex 中删除重复项?

python - 在 python 中隔离和过滤 .most_common() 的结果

python - 在 Pandas 中断言列数据类型

python - 使用 langdetect 计算 pandas 数据框中的语言频率

java - 删除除连字符之外的所有特殊字符

android - 如何在屏幕底部创建一个不是矩形的屏幕安卓键盘?

python - 使用系统范围的热键将焦点更改为 Tkinter 程序

python - Pandas 数据帧 "all true"标准

javascript - 如何使用 javascript 在网页上运行正则表达式

unix - 通过重定向输出从 Python 脚本获取退出代码