输入数据:
obj number
1 433
2 342
3 111
4 345
输出数据:
true
尝试:
df[df['number'].isin([111,433])]
df.number.isin([111,433])
df.number.any() == 111 or 433
但是他们都没有给我我想要的结果
我正在尝试解析文件,并且无论何时该数字在1个数据帧中,我都想运行一些特殊算法来重新格式化它。例如,如果在数字列中包含111,我想添加一个带有layout-name的列,其中应显示值“ layout1”
答案 0 :(得分:1)
您很接近,用Series.any
测试标量的值,以测试至少一个True
:
print ((df.number == 111).any())
True
要使用OR
测试多个值,请使用Series.isin
和any
:
df.number.isin([111, 222]).any()
如果需要测试连续值-111
和下一行222
:
print (df)
obj number
0 1 433
1 2 342
2 3 111
3 4 222
print (((df['number'] == 111) & (df['number'].shift(-1) == 222)).any())
True
答案 1 :(得分:1)
您将其设置得过于复杂,可以在此处使用以下命令检查是否有任何值为 alias: {
'react': path.resolve('./node_modules/react')
}
:
111
或更短:
(df['number'] == 111).any()
如果您要检查序列中是否出现了两个(或多个值),则为:
df['number'].eq(111).any()
如果要检查的项目数量相对较少,则可以解决问题。