Tok*_*kyo 3 python dataframe pandas
假设我有一个熊猫数据框,df我可以使用.loc()如下:
c1 = df['count'] > 10
c2 = df['min'] > 3
c2 = df['max']> 4
filtered = df.loc[c1 & c2 & c3].T.reset_index()
Run Code Online (Sandbox Code Playgroud)
没有说条件存储在列表中:
conditions = [df['count'] > 10, df['min'] > 3, df['max']> 4]
Run Code Online (Sandbox Code Playgroud)
如何将此列表传递给.loc()并指示所有条件都必须成立 ( &)?
您可以使用 functools 减少:
l = [c1,c2,c3]
from functools import reduce
df.loc[reduce(np.logical_and, l)]
Run Code Online (Sandbox Code Playgroud)
@GZ0 改进...
df.loc[np.logical_and.reduce(l)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
356 次 |
| 最近记录: |