首页 > 解决方案 > 具有相同名称和数据的熊猫数据框合并列以逗号分隔

问题描述

数据框看起来像

让我们说这个df1

teamname  player.1  player.2  player.3
xyz        abc        nan       def
gh1        nan        hgf       jnr
oed        jeo        nan       nan

输出应该像

假设这个df2

teamname player
xyz       abc
          def
gh1       hgf
          jnr
oed       jeo

标签: pythonpandasdataframe

解决方案


player_cols = [col for col in df1.columns if 'player' in col.lower()] #Your player column names

df_parts = [] # List to store mini-dfs
for col in player_cols:
    df_auxiliary = df1[['teamname', col]]
    df_auxiliary = df_auxiliary.rename(columns={col:'Players'})
    df_auxiliary = df_auxiliary.dropna()
    df_parts.append(df_axuliary)

df2 = pd.concat(df_parts) # Create final df

或在“一行”中:

df2 = pd.wide_to_long(df1, stubnames='player', i=['teamname'], j='player_num')
df2 = df2.dropna()

推荐阅读