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

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

熊貓組合包含字符串的重復列

熊貓組合包含字符串的重復列

縹緲止盈 2021-05-07 14:15:12
我在合并重復的列時遇到問題(有點)。它似乎可以在較舊版本的Pandas / Python上運行(不確定問題出在哪里),但在最新版本上卻無法運行。我基本上在concat之后有一個混合值的數(shù)據(jù)框,其中包含重復的列名。這些值將是一個int,字符串或nan。對于每個重復的列名稱,所有非nan值都將相同,因此從理論上講max()應該可以解決問題。說我有數(shù)據(jù)框:    col1  col1  col2  col2  col30   Foo   nan   nan   Bar   Baz1   nan   nan   Bar   Bar   nan2   0     nan   1     nan   1我的目標是    col1  col2  col30   Foo   Bar   Baz1   nan   Bar   nan2   0     1     1這樣做df.groupby(df.columns,axis=1).max()確實可以執(zhí)行我希望在較舊版本的Pandas / Python上執(zhí)行的操作,但不適用于最新版本。這是我得到的最新版本:    col1  col2  col30   nan   nan   Baz1   nan   nan   nan2   0     1     1有任何想法嗎?
查看完整描述

3 回答

?
catspeake

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

我認為您transpose首先需要數(shù)據(jù)框,reset the index然后rename是重復的index列值,最后使用groupby。


df_t = df.T.reset_index()

df_t["index"] = df_t["index"].str.split(".").str[0]

result = df_t.groupby("index").first().T

輸出


Out[57]: 

index col1 col2 col3

0      Foo  Bar  Baz

1      NaN  Bar  NaN

2        0    1    1


查看完整回答
反對 回復 2021-05-11
?
呼如林

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

您的算法是一個很好的算法,您可以嘗試:

df.groupby(df.columns,axis=1).max(axis=1)


查看完整回答
反對 回復 2021-05-11
  • 3 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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