将 Pandas 数据框中的值合并为字符串

nic*_*c93 3 python dataframe pandas

我有一个与此类似的数据框:

       Male  Over18  Single
0     0       0       1
1     1       1       1
2     0       0       1
Run Code Online (Sandbox Code Playgroud)

我想要一个额外的列,它获取一个逗号分隔的字符串,其中列名的值为 1:

   Male  Over18  Single        CombinedString
0     0       0       1                Single
1     1       1       1  Male, Over18, Single
2     0       0       1                Single
Run Code Online (Sandbox Code Playgroud)

希望有人可以帮忙:)

cs9*_*s95 6

一种流行的方法是使用列标题执行熊猫点积:

df['CombinedString'] = df.dot(df.columns+',').str.rstrip(',')
df

   Male  Over18  Single      CombinedString
0     0       0       1              Single
1     1       1       1  Male,Over18,Single
2     0       0       1              Single
Run Code Online (Sandbox Code Playgroud)