【发布时间】:2019-04-24 23:44:42
【问题描述】:
这有点奇怪,我没有示例数据框,但如果有人可以提供帮助,那就太好了。
我有 3 列 A、B 和 C。
C 可能是空白/nan。
我的意思是,如果 C 为空白,并且 A 和 B 等于上一行的 A 和 B 的值。然后将 C 设置为与上一行的 C 相同的值。
这是我目前所拥有的。它正在运行但不改变 C 的值。
for i, row in df.iterrows():
if df['C'][i]==np.nan:
if df[['A','B']][i]==df[['A','B']][i-1]:
df['C'][i]=df['C'][i-1]
else:
pass
else:
pass
有人知道为什么这可能不起作用吗?
非常感谢
我也试过了,但是这段代码根本不起作用
for i, row in df.iterrows():
if df['C'][i]==np.nan & df[['A','B']][i]==df[['A','B']][i-1]:
df['C'][i]=df['C'][i-1]
else:
pass
所以 df:
A B C
w 4 t
w 4
a r c
输出应该是:
A B C
w 4 t
w 4 t
a r c
【问题讨论】:
-
得到了答案,感谢下面的人。如果有人看到循环有什么问题,请发表评论,因为我现在真的很好奇
标签: pandas loops if-statement