簡體   English   中英

Python pandas數據幀組基於條件

[英]Python pandas dataframe group by based on a condition

我的問題很簡單,我有一個數據框,我根據列對結果進行groupby ,得到如下大小:

df.groupby('column').size()

現在的問題是我只想要尺寸大於X的那些 我想知道我是否可以使用lambda函數或類似的東西來做到這一點? 我已經嘗試過了:

df.groupby('column').size() > X

它打印出一些True和False值。

分組結果是常規DataFrame,因此只需像往常一樣過濾結果:

 import pandas as pd

 df = pd.DataFrame({'a': ['a', 'b', 'a', 'a', 'b', 'c', 'd']})
 after = df.groupby('a').size()
 >> after
 a
 a    3
 b    2
 c    1
 d    1
 dtype: int64

 >> after[after > 2]
 a
 a    3
 dtype: int64

試試這段代碼:

df.groupby('column').filter(lambda group: group.size > X)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM