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

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

將多行按列值合并為一行,并根據(jù)連接行數(shù)拆分為多個(gè)數(shù)據(jù)幀,用于多列

將多行按列值合并為一行,并根據(jù)連接行數(shù)拆分為多個(gè)數(shù)據(jù)幀,用于多列

倚天杖 2022-06-28 10:58:35
它顯示了在要組合一列和額外一列的情況下如何組合行。我現(xiàn)在正在為有很多列的情況尋找解決方案,并且我仍然想基于一列組合行。我希望如何處理是:首先列出一種類型的所有列,然后以與第一次相同的順序列出另一種類型的列。這是一個(gè)最小的例子data = [['tom', 'ca', 2], ['ni2ck', 'ma', 2], ['j3uli', 'ny', 4] , ['nic4k', 'ma', 4], ['jul5i', 'ny', 4] , ['nic6k', 'ma', 7], ['ju7li', 'ny', 7] , ['nic8k', 'ma', 7], ['ju9li', 'ny', 7] , ['nic1k', 'ma', 8], ['car', 'ny', 8]]df = pd.DataFrame(data, columns = ['Name', 'Location', 'Age']) df 結(jié)果是Name    Location    Age0   tom ca  21   ni2ck   ma  22   j3uli   ny  43   nic4k   ma  44   jul5i   ny  45   nic6k   ma  76   ju7li   ny  77   nic8k   ma  78   ju9li   ny  79   nic1k   ma  810  car ny  8這將是期望的結(jié)果    Name    Name    Location    Location    Age0   tom ni2ck   ca  ma  21   nic1k   car ma  ny  8Name    Name    Name    Location    Location    Location    Age0   j3uli   nic4k   jul5i   ny  ma  ny  4Name    Name    Name    Name    Location    Location    Location    Location    Age0   nic6k   ju7li   nic8k   ju9li   ma  ny  ma  ny  7重要的是,正確的位置與相應(yīng)名稱的順序相同。
查看完整描述

1 回答

?
翻翻過去那場雪

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

從@Wen 解決方案開發(fā)。而不是pivot,使用pivot_table


df['New']=df.groupby('Age').cumcount()

s= df.pivot_table(index='Age',columns='New',

                  values=['Name', 'Location'], 

                  aggfunc='first').reindex(['Name', 'Location'], axis=1, level=0)

s.columns = s.columns.map('{0[0]}{0[1]}'.format)


l=[y.dropna(1).reset_index() for _ , y in s.groupby(s.isnull().sum(1))]


In [499]: l[0]

Out[499]:

   Age  Name0  Name1  Name2  Name3 Location0 Location1 Location2 Location3

0    7  nic6k  ju7li  nic8k  ju9li        ma        ny        ma        ny


In [500]: l[1]

Out[500]:

   Age  Name0  Name1  Name2 Location0 Location1 Location2

0    4  j3uli  nic4k  jul5i        ny        ma        ny


In [501]: l[2]

Out[501]:

   Age  Name0  Name1 Location0 Location1

0    2    tom  ni2ck        ca        ma

1    8  nic1k    car        ma        ny

如果您想保留多索引列,請(qǐng)?zhí)^列map上的命令


df['New']=df.groupby('Age').cumcount()

s= df.pivot_table(index='Age',columns='New',

                  values=['Name', 'Location'], 

                  aggfunc='first').reindex(['Name', 'Location'], axis=1, level=0)


l=[y.dropna(1).reset_index() for _ , y in s.groupby(s.isnull().sum(1))]


In [544]: l[0]

Out[544]:

    Age   Name                      Location

New          0      1      2      3        0   1   2   3

0     7  nic6k  ju7li  nic8k  ju9li       ma  ny  ma  ny


In [545]: l[1]

Out[545]:

    Age   Name               Location

New          0      1      2        0   1   2

0     4  j3uli  nic4k  jul5i       ny  ma  ny


In [546]: l[2]

Out[546]:

    Age   Name        Location

New          0      1        0   1

0     2    tom  ni2ck       ca  ma

1     8  nic1k    car       ma  ny


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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