任何帮助将不胜感激这里:
假设我有一个Pandas DataFrame,例如:
Column1 Column2 Column3 Column4 Column5 Column6
0 aaa abb jnhs 01/01/2020 40 TEST
1 aba vvv jnjh 01/01/2020 34 TEST
我正在寻找能够测试某个条件是否存在的最佳方法,如果确实存在,则取标题"column5"下同一行上的数字,并将该数字加1。然后返回完整的 Dataframe ,其中col6 ="TEST"的col5中的单元格仅加1。
下面是我正在查找的Dataframe结果:
Column1 Column2 Column3 Column4 Column5 Column6
0 aaa abb jnhs 01/01/2020 41 TEST
1 aba vvv jnjh 01/01/2020 35 TEST
到目前为止我已经尝试过:df['Column5'] = np.where(df['Colum6'] == "TEST", +1, "NA")
然而,这将用1替换列5中的值,并且不向当前值加1以使它们分别为41和35。
谢谢你的帮助。
5条答案
按热度按时间bmp9r5qi1#
您可以查找满足条件的行,然后将
Column5
加上+1hc8w905p2#
Pandas文档建议使用掩码来索引所需的行,然后使用另一个答案中建议的
+=
操作符,或者索引任何其他行,然后添加+1
或任何其他所需的值。s5a0g9ez3#
这项工作:
s1ag04yj4#
您可以:
sr4lhrrt5#
进口Pandas当PD
结果= df ["第6列"]=="测试"
df. loc [结果,"第5列"]= df ["第5列"] +1