如何检查特定列在数据框中是否具有特定值?
How to check specific column have specific values or not in dataframe?
我想检查 'data' 列是否仅包含 abc 和 xyz。如果不是那么 return 一样。
预期输出:假
import pandas as pd
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42],'data':['abc','xyz','pqr','abc']}
df = pd.DataFrame(data)
print df
如果想要测试是否仅存在任何顺序的某些值,您可以测试集:
print (set(df['data']) == set(['xyz', 'abc']))
False
编辑:
如果需要True
如果匹配至少一个值:
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42],
'data':['abc','abc','abc','abc']}
df = pd.DataFrame(data)
print (df)
Name Age data
0 Tom 28 abc
1 Jack 34 abc
2 Steve 29 abc
3 Ricky 42 abc
print (set(df['data']) <= set(['xyz', 'abc']))
True
数据框:
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],
'Age':[28,34,29,42],
'data':['abc','xyz','pqr','abcd']}
df = pd.DataFrame(data)
试试这个:
df[df['data'].isin(['abc','xyz'])]
结果只有 2 行:汤姆和杰克
我想检查 'data' 列是否仅包含 abc 和 xyz。如果不是那么 return 一样。 预期输出:假
import pandas as pd
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42],'data':['abc','xyz','pqr','abc']}
df = pd.DataFrame(data)
print df
如果想要测试是否仅存在任何顺序的某些值,您可以测试集:
print (set(df['data']) == set(['xyz', 'abc']))
False
编辑:
如果需要True
如果匹配至少一个值:
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42],
'data':['abc','abc','abc','abc']}
df = pd.DataFrame(data)
print (df)
Name Age data
0 Tom 28 abc
1 Jack 34 abc
2 Steve 29 abc
3 Ricky 42 abc
print (set(df['data']) <= set(['xyz', 'abc']))
True
数据框:
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],
'Age':[28,34,29,42],
'data':['abc','xyz','pqr','abcd']}
df = pd.DataFrame(data)
试试这个:
df[df['data'].isin(['abc','xyz'])]
结果只有 2 行:汤姆和杰克