[英]are values in rows of column of dataframe return true or false
輸入數據:
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”
您很接近,使用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
您將其設置得太復雜了,您可以在這里檢查是否有任何值是111
:
(df['number'] == 111).any()
或更短:
df['number'].eq(111).any()
如果要檢查序列中是否出現兩個(或多個值),則:
>>> import numpy as np
>>> np.any(df[:,None] == np.array([[111, 222]]), axis=0).all()
False
如果要檢查的項目數量相對較少,則可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.