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

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

對(duì)熊貓數(shù)據(jù)框中的字符串求和

對(duì)熊貓數(shù)據(jù)框中的字符串求和

哈士奇WWW 2022-12-27 15:43:33
給定df具有 100 萬(wàn)行的數(shù)據(jù)框:   HOUSEID   PERSONID         my_string  0   20000017    1    0,0,0,1-100,100,100-11,0,0    1   20000017    1    53,53,53,0,0,0,0,02   20000017    1    0,0,0,0,0,12,12,12    3   20000017    2    1-100-43,43,0,0,0,0,0,04   20000017    2    0,0,82-100-41,41,0,0,0,0     5   20000017    2    0,0,0,53,53,53,0,0    6   20000017    2    0,0,0,0,0,0,0,0    7   20000231    1    41-100,100-41,41,0,0,0,0,0  8   20000231    1    0,0,0,41-100,100-1,0,0,0在該列my_string中,有 8 個(gè)字符串(在我的真實(shí)數(shù)據(jù)幀中為 96 個(gè))代碼,由“,”(有時(shí)不止一個(gè)數(shù)字)分隔。對(duì)于HOUSEID和PERSONID(一個(gè)人)的每個(gè)唯一組合,我希望以“0”值填充同一個(gè)人其他行的相應(yīng)下標(biāo)的方式組合數(shù)字。這是所需的輸出:       HOUSEID   PERSONID         my_string     0   20000017    1    53,53,53,1-100,100,100-11,12,12        1   20000017    2    1-100-43,43,82-100-41,41,53,53,0,0      2   20000231    1    41-100,100-41,41,41-100,100-1,0,0,0在某些情況下,一個(gè)人最終會(huì)得到同一個(gè)下標(biāo)的兩個(gè)值。在這種情況下,我寧愿將更長(zhǎng)的代碼嵌入到我的最終字符串中。這可能嗎?如果是,如何?
查看完整描述

1 回答

?
湖上湖

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

我認(rèn)為您的輸入數(shù)據(jù)存在一些差異,例如第一組最終有 9 個(gè)值,或者在第二組中您在不同行的同一位置有值(0 除外)。


無(wú)論如何,這應(yīng)該做你想做的,首先str.split是每個(gè)逗號(hào)的“my_string”列并展開,用于mask用 nan 替換 0,groupby在兩列上執(zhí)行 a,保持first值(不是 nan)可用,如果有的話,fillna0 是沒有值的, agg用于join取回字符串和reset_index


df_ = (df['my_string'].str.split(',', expand=True)

         .mask(lambda x: x.eq('0'))

         .groupby([df['HOUSEID'], df['PERSONID']]) 

         .first()

         .fillna('0')

         .agg(','.join, axis=1)

         .reset_index(name='my_string_agg')

      )

print (df_)

    HOUSEID  PERSONID                        my_string_agg

0  20000017         1      53,53,53,1-100,100,100-11,12,12

1  20000017         2   1-100-43,43,82-100-41,41,53,53,0,0

2  20000231         1  41-100,100-41,41,41-100,100-1,0,0,0


查看完整回答
反對(duì) 回復(fù) 2022-12-27
  • 1 回答
  • 0 關(guān)注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報(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)