Hel*_*rth 7 python dataframe python-3.x pandas
我想快速方便地检查counts
数据框中所有列的值是否相同:
在:
import pandas as pd
d = {'names': ['Jim', 'Ted', 'Mal', 'Ted'], 'counts': [3, 4, 3, 3]}
pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)
出:
names counts
0 Jim 3
1 Ted 4
2 Mal 3
3 Ted 3
Run Code Online (Sandbox Code Playgroud)
我想只是一个简单的条件if all counts = same value
,然后print('True')
。
有快速的方法吗?
WeN*_*Ben 10
更新使用 np.unique
len(np.unique(df.counts))==1
False
Run Code Online (Sandbox Code Playgroud)
或者
len(set(df.counts.tolist()))==1
Run Code Online (Sandbox Code Playgroud)
或者
df.counts.eq(df.counts.iloc[0]).all()
False
Run Code Online (Sandbox Code Playgroud)
或者
df.counts.std()==0
False
Run Code Online (Sandbox Code Playgroud)
我更喜欢:
df['counts'].eq(df['counts'].iloc[0]).all()
Run Code Online (Sandbox Code Playgroud)
我发现它最容易阅读,并且适用于所有值类型。根据我的经验,我也发现它足够快。