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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

groupby 保留所有先前的字段

groupby 保留所有先前的字段

慕斯王 2024-01-15 17:18:13
我有重復(fù)的條目需要合并。id1除了名為和 的兩個(gè)字段之外,所有字段都是相同的id2- 這些是列表字段,我想組合它們的條目。以下是我僅對(duì)id1和id2字段執(zhí)行此操作的方法:summary_df = df.groupby(['path_md5']).agg(    id1 =('id1', lambda x: str(sorted({id for ids in x.dropna() for id in ids}))),    id2 =('id2', lambda x: str(sorted({id for ids in x.dropna() for id in ids}))),)然而,我不想添加 60 個(gè)額外的字段,first這樣我就可以獲取它們的價(jià)值。有一個(gè)更好的方法嗎?這是我想要的輸入/輸出的示例:id1     id2     path_md5       other_fields (could be 50 fields -- all the same)...[1,2]   [3]     abc            ...[7]     [9]     abc            ...[17]    [11]    xyz            ...結(jié)果應(yīng)該是:id1        id2     path_md5       other_fields...[1,2,7]   [3,9]     abc            ...[17]      [11]      xyz            ...最好的方法是什么?我嘗試執(zhí)行以下操作:# Dedupe path, combining id1, id2agg_fields = [col_name for col_name in df.columns if col_name not in ('id1', 'id2')]raw_df = raw_df.groupby(agg_fields).agg(...).reset_index()但它給了我零結(jié)果(也許是因?yàn)楹芏嘀刀际强盏模?
查看完整描述

1 回答

?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以構(gòu)建一個(gè)聚合字典:


agg_dict = {k:'first' for k in df.columns if k not in ['id1','id2','path_md5']}

agg_dict['id1'] = lambda x: str(sorted({id for ids in x.dropna() for id in ids}))

agg_dict['id2'] = lambda x: str(sorted({id for ids in x.dropna() for id in ids}))


summary_df = df.groupby('path_md5', as_index=False).agg(agg_dict)


查看完整回答
反對(duì) 回復(fù) 2024-01-15
  • 1 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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