繁体   English   中英

如何根据条件为具有缺失值的 pandas dataframe 单元格分配另一个单元格的值?

[英]How do I assign a value to a pandas dataframe cell with a missing value with the value of another cell based on a condition?

我有一个 dataframe 有一些缺失值。 我想根据条件用 dataframe 中另一个单元格的值替换那些缺失值。 所以 dataframe 看起来像这样:

X A
xyz A
半月
没有任何 A
xyz A
qrs C
没有任何

我想要做的是当列中的值匹配时,将“无”单元格的值设置为 x 列中的值。 所以它看起来像这样:

X A
xyz A
半月
xyz A
xyz A
qrs C
半月

该索引只是从 0 开始的序列号,并且可能会根据数据集而变化,因此具有缺失信息的单元格的索引将发生变化。

您可以使用ffill()来填充前向缺失值:

df['x'] = df.replace('None', np.nan).groupby('a')['x'].ffill()
print(df)

# Output:
     x  a
0  xyz  A
1  lmn  B
2  xyz  A
3  xyz  A
4  qrs  C
5  lmn  B
for i in range(len(df)):
    if df['a'][i] == 'A':
        df['x'][i] = 'xyz'

这对我有用,如果你想做所有其他字母,只需添加一个elif

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM