我有以下資料框。
**Col1** **Col2**
ABC S1
ABC S2
BCD S3
FJK S5
XYZ S7
XYZ S8
我需要以下格式的輸出。
data = {'ABC': '[S1,S2]', 'BCD': '[S3]', 'FJK': '[S5]', 'XYZ': '[S7,S8]'}
任何人都可以幫助我如何實作上述輸出,它會很棒!
uj5u.com熱心網友回復:
就像提到的commnent聚合list然后轉換為字典:
d = df.groupby('Col1').Col2.agg(list).to_dict()
print (d)
{'ABC': ['S1', 'S2'], 'BCD': ['S3'], 'FJK': ['S5'], 'XYZ': ['S7', 'S8']}
f-strings對于lambda 函式中使用的字串:
d = df.groupby('Col1').Col2.agg(lambda x: f"[{','.join(x)}]").to_dict()
print (d)
{'ABC': '[S1,S2]', 'BCD': '[S3]', 'FJK': '[S5]', 'XYZ': '[S7,S8]'}
對于 json 使用Series.to_json:
j = df.groupby('Col1').Col2.agg(list).to_json()
print (j)
{"ABC":["S1","S2"],"BCD":["S3"],"FJK":["S5"],"XYZ":["S7","S8"]}
uj5u.com熱心網友回復:
如果您真的想要一個字串作為值,請使用聚合作為字串:
data = ('[' df.groupby('Col1')['Col2'].agg(','.join) ']').to_dict()
輸出:
{'ABC': '[S1,S2]',
'BCD': '[S3]',
'FJK': '[S5]',
'XYZ': '[S7,S8]'}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431519.html
上一篇:在Dataframe中添加缺少的鍵,以便Dataframe中的所有dicts具有相同的鍵
下一篇:將文本讀取為注釋而不是字串
