第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Groupby 和連接值,但保留所有列

Groupby 和連接值,但保留所有列

慕無忌1623718 2022-05-19 13:59:57
我有這個數(shù)據(jù)框,想對 ID 進行分組并加入這些值。ID  | A_Num | I_Num--------------------------001 | A_001 | I_001002 | A_002 | I_002003 | A_003 | I_004005 | A_002 | I_002期望的輸出ID      | A_Num | I_Num--------------------------001     | A_001 | I_001002;005 | A_002 | I_002003     | A_003 | I_004代碼:    df = df.groupby(['A_Num','I_Num'])['ID'].apply(lambda tags: ';'.join(tags))    df.to_csv('D:\joined.csv', sep=';', encoding='utf-8-sig', quoting=csv.QUOTE_ALL, index=False, header=True)當(dāng)我將 DataFrame 寫入 csv 文件時,我只有 ID 列。
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

嘗試reset_index()

df=df.groupby(['A_Num','I_Num'])["ID"].apply(lambda tags: ';'.join(tags.values)).reset_index()

這樣,您的聚合 fromapply()將被執(zhí)行,然后重新分配為column而不是index.


查看完整回答
反對 回復(fù) 2022-05-19
?
慕哥9229398

TA貢獻1877條經(jīng)驗 獲得超6個贊

另一種方法是:


result= df.groupby(['A_Num', 'I_Num']).agg({'ID': list})

result.reset_index(inplace=True)

result[['ID', 'A_Num', 'I_Num']]

輸出是:


Out[37]: 

             ID    A_Num   I_Num

0        [001 ]   A_001    I_001

1  [002 , 005 ]   A_002    I_002

2        [003 ]   A_003    I_004

在這種情況下,ID 包含列表。如果您更想要字符串,只需執(zhí)行以下操作:


result['ID']= result['ID'].map(lambda lst: ';'.join(lst))

result[['ID', 'A_Num', 'I_Num']]

哪個輸出:


Out[48]: 

        ID  A_Num  I_Num

0      001  A_001  I_001

1  002;005  A_002  I_002

2      003  A_003  I_004


查看完整回答
反對 回復(fù) 2022-05-19
?
慕村9548890

TA貢獻1884條經(jīng)驗 獲得超4個贊

Groupby 'A_Num' 和 'I_Num' 然后合并同一組中的 ID。

df.groupby(['A_Num','I_Num']).ID.apply(lambda x: ';'.join(x.tolist())).reset_index()


查看完整回答
反對 回復(fù) 2022-05-19
  • 3 回答
  • 0 關(guān)注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號