我有一个如下所示的数据集,其中有一些缺失值.我想要获得的是,我想用相应组的任何现有值填充这些NA值.它不一定非得是一种手段或模式.有没有办法实现这一点?

group   rate   type     feat.
A       #NA      L       100 
A        2      #NA      150
A        2       M       100
B        3       M       #NA
B       #NA      M       #NA
B       #NA      M       200
B       #NA     #NA      200
C        9       H       300
C        9       H       300

因此,通过将相应组中所有空值修改为任意值,一个示例输出应该如下所示.

group   rate   type     feat.
A        2       L       100 
A        2       L       150
A        2       M       100
B        3       M       200
B        3       M       200
B        3       M       200
B        3       M       200
C        9       H       300
C        9       H       300

推荐答案

由于您不关心使用哪个值,因此可以对整个数据帧应用groupby.transform('first')fillna:

out = df.fillna(df.groupby('group').transform('first'))

输出:

  group  rate type  feat.
0     A   2.0    L  100.0
1     A   2.0    L  150.0
2     A   2.0    M  100.0
3     B   3.0    M  200.0
4     B   3.0    M  200.0
5     B   3.0    M  200.0
6     B   3.0    M  200.0
7     C   9.0    H  300.0
8     C   9.0    H  300.0

Python-3.x相关问答推荐

如何创建多个日志(log)文件

将strid()映射到Pandas DataFrame中的字符串不会更改NaN条目,但仍然声称它们不同?

比较和排序 DataFrame 两列中的值并在 python 中的同一行中排序

找到在指定列的另一个分组中存在重复的行.

如何通过 python 使用 auth no priv 获取 SNMPv3?

嵌套协议的使用(协议成员也是协议)

切片的Python复杂性与元组的星号相结合

有没有一种方法可以通过输入从 0 到 255 的 R、G 和 B 值来生成 RGB colored颜色 ,而无需使用 python 中的 matplotlib 模块?

txt 文件与不同的分隔符到整数列表

Jupyter Notebook 拒绝打印一些字符串

使用条件参数为 super() 调用 __init__

使用一周的特定第一天将每日日期转换为每周

两个Pandas数据框中的共同列列表

Linux Mint 上的 Python3 错误没有名为蓝牙的模块

Python中的多行日志(log)记录

无论如何我可以在 Google colaboratory 中下载文件吗?

使用 python 3.0 的 Numpy

异常被忽略是什么类型的消息?

什么是ANSI_X3.4-1968编码?

将 Python SIGINT 重置为默认信号处理程序