我希望對 PO Header Id 進行分組或 (groupby),然后將 PO Header ID 相同的所有行的字串 (XML) 連接起來。我偶然發現了一些代碼示例,但遇到了一些錯誤。
最終,列 Final_XML 是我希望實作的目標。
PO Header ID XML Combined_XML
123 <test1>
123 <test2>
456 <test3>
567 <test4>
567 <test5>
567 <test6>
Desired output
PO Header ID Combined_XML
123 <test1><test2>
456 <test3>
567 <test4><test5><test6>
這是我迄今為止嘗試過的:
combineXML = df.groupby(['PO Header Id']).agg(['Combined_XML']).apply(list).reset_index()
print(combineXML)
Throws error: KeyError: 'PO Header Id' There are no spaces in the column name so I am not sure
why it is not working
df = df.groupby(['PO Header Id','XML'])['Combined_XML'].apply(''.join).reset_index()
uj5u.com熱心網友回復:
你可以這樣試試
df.groupby(['PO Header ID'])['XML'].apply(''.join).reset_index()
uj5u.com熱心網友回復:
您可以使用.GroupBy.agg()與命名的聚集如下:
combineXML = df.groupby('PO Header ID', as_index=False).agg(Combined_XML=('XML', ''.join))
或者,如果您的列名實際上是PO Header Id:
combineXML = df.groupby('PO Header Id', as_index=False).agg(Combined_XML=('XML', ''.join))
結果:
print(combineXML)
PO Header ID Combined_XML
0 123 <test1><test2>
1 456 <test3>
2 567 <test4><test5><test6>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/313605.html
標籤:Python 熊猫 文件 pandas-groupby 数据科学
