osc*_*one 1 python filter dataframe pandas
我的问题是关于在pandas(python.)中进行选择.
如您所知,可以selection通过执行(或"切割")对数据帧应用
df = df[df.area > 10]
Run Code Online (Sandbox Code Playgroud)
如果你想(比如说)选择列值area大于的所有行10.但是假设你有许多数据帧,并且你最终希望将这个剪辑应用于所有数据帧.做一些像这样的事情会很好
cut = dataframe.area > 10
Run Code Online (Sandbox Code Playgroud)
然后以某种方式能够做到
df = df[cut]
Run Code Online (Sandbox Code Playgroud)
显然,鉴于上述策略,它将无效,因为它cut指的是特定的数据帧.但有没有办法来估计这种行为?
也就是说,是否可以定义一个cut特定的数据帧,并且可以应用为df = df[cut]?
我可以得到类似的东西
cut = lambda df: df[df.area > 10]
cut(df)
Run Code Online (Sandbox Code Playgroud)
每个@root
cut = 'area > 10'
df.query(cut)
Run Code Online (Sandbox Code Playgroud)
Per @ayhan
cut = lambda x: x.area > 10
df[cut]
Run Code Online (Sandbox Code Playgroud)
100行
df = pd.DataFrame(np.random.randint(0, 20, 100), columns=['area'])
Run Code Online (Sandbox Code Playgroud)
1,000,000行
df = pd.DataFrame(np.random.randint(0, 20, 1000000), columns=['area'])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |