[英]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.