我想遍历数据框列,当达到特定值时,我想将该值保存在我创建的另一列中,并在同一行中称为“索引”。这是一个示例 df:
index value
0 a
2 b
3 c
9 a
23 d
我试图这样编码:
for value in df["value"]:
if value == "a":
current_index = #get value in "index" in current row
我不能简单地保存值为“a”的行的所有索引,因为那时我的其余代码将不起作用。
我认为这应该很容易,但不知何故我找不到解决方案。
谢谢大家的支持!
IUC:
尝试通过布尔屏蔽和 loc 访问器:
out=df.loc[df['value'].eq('a'),'index'].tolist()
的输出out
:
[0, 9]
或者
如果要创建列,则:
df['newcol']=df['index'].where(df['value'].eq('a'))
的输出df
:
index value newcol
0 0 a 0.0
1 2 b NaN
2 3 c NaN
3 9 a 9.0
4 23 d NaN
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句