我沒有使用資料框的經驗,我遇到了以下問題:
有一張桌子是這樣的:
在此處輸入影像描述
parent account account number account name code
0 parent 1 123122 account1 1
1 parent 1 456222 account2 1
2 parent 1 456334 account3 1
3 parent 2 456446 account4 1
4 parent 2 456558 account5 2
5 parent 2 456670 account6 3
6 parent 2 456782 account7 1
7 parent 2 456894 account8 1
8 parent 2 457006 account9 1
9 parent 2 457118 account10 1
10 parent 2 457230 account11 1
11 parent 2 457342 account12 1
12 parent 2 457454 account13 1
13 parent 2 457566 account14 1
14 parent 3 457678 account15 1
15 parent 3 457790 account16 1
16 parent 4 457902 account17 5
17 parent 4 458014 account18 5
18 parent 4 458126 account19 5
19 parent 4 458238 account20 5
20 parent 4 458350 account21 1
我需要檢查哪些父母只有一個版本的代碼(最后一列),哪些父母有更多
所需的輸出是看起來像示例的表格,但不包括每個只有一個代碼版本的父級
> import pandas as pd
>
> read by default 1st sheet of an excel file
> dataframe1 = pd.read_excel("./input/dane.xlsx")
> parents = dataframe1.groupby(["parent account", "code"])
這是我在那一刻得到的唯一輸出,它的東西,但這不是我需要的結果
> for i in parents["parent account"]:
> print(list(i)[0])
> ```
> ('parent 1', 1)
> ('parent 2', 1)
> ('parent 2', 2)
> ('parent 2', 3)
> ('parent 3', 1)
> ('parent 4', 1)
> ('parent 4', 5)
Could you please help me with that?
uj5u.com熱心網友回復:
首先獲取父帳戶串列,使它們具有多個不同的代碼
condition = df.groupby('parent account').code.nunique() > 1
parent_list = list( condition.index[condition.values] )
然后對您的資料應用過濾器
df[ df['parent acount'].isin(parent_list) ]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/530719.html
