0
是否有這樣做檢查多列索引的存在
if numpy.all(map(lambda c: c in df.columns, ['Column 1', 'Columns 2'])):
do_something()
是否有這樣做檢查多列索引的存在
if numpy.all(map(lambda c: c in df.columns, ['Column 1', 'Columns 2'])):
do_something()
的一個更復雜的方式,您可以使用Index.isin
:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9],
'D':[1,3,5],
'E':[5,3,6],
'F':[7,4,3]})
print (df)
A B C D E F
0 1 4 7 1 5 7
1 2 5 8 3 3 4
2 3 6 9 5 6 3
如果需要檢查至少一個值使用any
cols = ['A', 'B']
print (df.columns.isin(cols).any())
True
cols = ['W', 'B']
print (df.columns.isin(cols).any())
True
cols = ['W', 'Z']
print (df.columns.isin(cols).any())
False
如果需要檢查all
值:
cols = ['A', 'B', 'C','D','E','F']
print (df.columns.isin(cols).all())
True
cols = ['W', 'Z']
print (df.columns.isin(cols).all())
False
嗯,謝謝,但從我的角度來看,這看起來不太好,不幸的是......我希望會有一些句法上更令人愉快的東西。 –
我添加了另一個解決方案,請檢查它。 – jezrael
而這個解決方案更好,所以我刪除了舊的。 – jezrael