【发布时间】:2017-07-24 04:00:23
【问题描述】:
我试图找到一种更好/更清洁的方法来做这样的事情
single_val = 0.5
df = pd.DataFrame(np.random.rand(10, 7), columns=list(a,b,c,d,e,f,g))
df[(df['a']>single_val) & (df['c']>single_val) & (df['f']>single_val)]
我试过了,但是没用。
single_val = 0.5
df = pd.DataFrame(np.random.rand(10, 7), columns=(a,b,c,d,e,f,g))
data_cols = ['a','c','f']
df[df[data_cols]>single_val]
谁能告诉我
1) 如何让我的方法奏效
2) 如果存在,完全不同的方法可能会更好
3)如何做一些更复杂的事情:
val_1 = 0.5
val_2 = 0.7
val_3 = 0.9
df = pd.DataFrame(np.random.rand(10, 7), columns=list(a,b,c,d,e,f,g))
df[(df['a']>val_1) & (df['c']<=val_2) & (df['f']<val_3)]
问题在于,对于实际应用程序,我需要考虑一长串列名,并且我不想单独输入条件表达式。
【问题讨论】:
标签: python pandas indexing dataframe slice