我得到以下資料框:
column1 | column2
1 | dasd
2 | dasd
1 |
2 | foo
1 | dasd
2 | bar
我想按 column1 對條目進行分組,并且只獲取在 column2 中具有多個唯一條目的條目串列。
所以我得到了這個:
df.groupby("column1")["column2"].nunique() > 1
這給了我以下資訊:
column1
1 False
2 True
如何獲取僅包含第 1 列中為真的條目的系列或串列。
uj5u.com熱心網友回復:
我認為您可以index通過 boolean 過濾值Series:
s = df.groupby("column1")["column2"].nunique() > 1
out = s.index[s].tolist()
print (out)
uj5u.com熱心網友回復:
解決了
df1 = df.groupby(by="column1", as_index=False).agg({"column2: pd.Series.nunique})
df1[df1.column2 > 1]
uj5u.com熱心網友回復:
換句話說,您的問題分解為 groupby column1 和 column2
>>> df.groupby(['column1','column2']).size() > 1
column1 column2
1 False
dasd True
2 bar False
dasd False
foo False
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/463801.html
下一篇:將字典轉換為熊貓資料框?
