gpt4 book ai didi

python - for 循环以提取 pandas 中数据帧的 header

转载 作者:太空狗 更新时间:2023-10-30 02:02:43 24 4
gpt4 key购买 nike

我是python新手。我有一个如下所示的数据框:

    A   B   C   D   E
0 1 0 1 0 1
1 0 1 0 0 1
2 0 1 1 1 0
3 1 0 0 1 0
4 1 0 0 1 1

如何编写 for 循环来收集每一行的列名。我希望我的结果集看起来像这样:

    A   B   C   D   E   Result
0 1 0 1 0 1 ACE
1 0 1 0 0 1 BE
2 0 1 1 1 0 BCD
3 1 0 0 1 0 AD
4 1 0 0 1 1 ADE

有人可以帮我吗?谢谢!

最佳答案

dot 函数就是为此目的而完成的,因为您需要矩阵与列名向量之间的矩阵点积:

df.dot(df.columns)
Out[5]:
0 ACE
1 BE
2 BCD
3 AD
4 ADE

如果您的数据帧是数字,则首先通过针对 0 测试您的 df 来获取 bool 矩阵:

(df!=0).dot(df.columns)

PS: 只需将结果分配给新列即可

df['Result'] = df.dot(df.columns)

df
Out[7]:
A B C D E Result
0 1 0 1 0 1 ACE
1 0 1 0 0 1 BE
2 0 1 1 1 0 BCD
3 1 0 0 1 0 AD
4 1 0 0 1 1 ADE

关于python - for 循环以提取 pandas 中数据帧的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39300691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com