Skip to main content
 首页 » 编程设计

python之将相同的选择(剪切)应用于多个数据框

2025年05月04日29lyj

我的问题是关于在 pandas (python.) 中进行选择

如您所知,可以通过以下方式将选择(或“剪切”)应用于数据框

df = df[df.area > 10] 

如果您想(比如说)选择 area 的列值大于 10 的所有行。但是假设您有很多数据框,并且您希望最终将此剪切应用到所有数据框。做类似的事情会很好

cut = dataframe.area > 10 

然后不知何故能够做到

df = df[cut] 

显然上面的策略是行不通的,因为 cut 指的是一个特定的数据帧。但是有没有办法近似这种行为?

也就是说,是否可以定义一个 cut,它不特别引用任何数据帧,并且可以作为 df = df[cut] 应用?

请您参考如下方法:

我可以得到类似的东西

cut = lambda df: df[df.area > 10] 
cut(df) 

根据@root

cut = 'area > 10' 
df.query(cut) 

根据@ayhan

cut = lambda x: x.area > 10 
df[cut] 

时机

100 行

df = pd.DataFrame(np.random.randint(0, 20, 100), columns=['area']) 

1,000,000 行

df = pd.DataFrame(np.random.randint(0, 20, 1000000), columns=['area'])