基于不同列的值的条件语句

时间:2019-08-08 06:07:30

标签: python-3.x pandas data-science

我正在尝试在下面的代码中高效地添加另一个元素,该元素考虑了此df中另一列的值。

在下面,如果值列为>= 0,则有一个过滤器,但是我想添加一个元素,该元素表示列名为day = 'Friday'的列,谢谢。

df[df['value']] >= 0

2 个答案:

答案 0 :(得分:2)

使用此

df[(df['value']>=0) & (df['day']=='friday') ]

答案 1 :(得分:1)

boolean indexing中用&来按位AND或用|来按位OR约束另一个条件,这里需要()

df1 = df[(df['value'] >= 0) & (df['day'] == 'friday')]

或使用Series.gtSeries.eq函数进行比较:

df1 = df[df['value'].gt(0) & df['day'].eq('friday')]

或使用DataFrame.query

df1 = df.query("(value >= 0) & (day == 'friday')")