簡體   English   中英

Pandas 數據框分組並組合多個行值

[英]Pandas dataframe groupby and combine multiple row values

如果標題不清楚,我深表歉意,但我很難表達這個問題。 如果我只是展示我想做的事情,那可能是最好的。

一些上下文:我解析了一個文檔的名稱,並將每個名稱與它出現的頁碼一起存儲。 我需要轉換 DataFrame 以便每個名稱都有一行,頁碼列組合了名稱出現的所有頁面。 我認為這需要 GroupBy,但我不完全確定。

我目前的數據:

data = np.array([['John', 'Smith', 1], ['John', 'Smith', 7], ['Eric', 'Adams', 9], ['Jane', 'Doe', 14], ['Jane', 'Doe', 16], ['John', 'Smith', 19]])

pd.DataFrame(data, columns=['FIRST_NM', 'LAST_NM', 'PAGE_NUM'])

  FIRST_NM LAST_NM PAGE_NUM
0     John   Smith        1
1     John   Smith        7
2     Eric   Adams        9
3     Jane     Doe       14
4     Jane     Doe       16
5     John   Smith       19

所需的數據幀:

  FIRST_NM LAST_NM PAGE_NUM
0     John   Smith   1,7,19
1     Eric   Adams        9
2     Jane     Doe    14,16

您可以使用 groupby 執行此操作並應用:

df.groupby(['FIRST_NM', 'LAST_NM']).apply(lambda group: ','.join(group['PAGE_NUM']))
Out[23]: 
FIRST_NM  LAST_NM
Eric      Adams           9
Jane      Doe         14,16
John      Smith      1,7,19
dtype: object

暫無
暫無

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

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