首页 > 解决方案 > 如何循环遍历熊猫并匹配条件

问题描述

输入表: 输入表

输出表: 输出表

我似乎无法弄清楚。我需要将值为 1 的列分组到一个新列“New_column”中。有人能帮我吗。这是我尝试过的代码。

for (index_label, row_series) in data.iterrows():
print('Row Index label : ', index_label)
print('Row Content as Series : ', row_series.values)

标签: pythonpandasdataframe

解决方案


您可以使用dot实现它:

    df = pd.DataFrame(
    {
        'A': [0,0,1],
        'B': [1,0,0],
        'C': [0,0,0,],
        'D': [1,0,1],
        'F': [1,0,1]
    }
)
df['new_column'] = df.dot(df.columns).str.join(",")



    A   B   C   D   F   new_column
0   0   1   0   1   1   B,D,F
1   0   0   0   0   0   
2   1   0   0   1   1   A,D,F

更新:对于超过一个字母的列,@BEN_YO 建议了一个非常好的解决方案:

df.dot(df.columns+',').str[:-1]

推荐阅读