gpt4 book ai didi

python - 将数据框列值转换为新列

转载 作者:太空狗 更新时间:2023-10-29 23:56:49 28 4
gpt4 key购买 nike

我有一个包含一些数据的数据框,我想对其进行转换,以便一列的值定义新列。

>>> import pandas as pd
>>> df = pd.DataFrame([['a','a','b','b'],[6,7,8,9]]).T
>>> df
A B
0 a 6
1 a 7
2 b 8
3 b 9

A 列的值应为新数据框的列名。转换的结果应该是这样的:

   a  b
0 6 8
1 7 9

到目前为止我想出的方法并没有完全奏效:

>>> pd.DataFrame({ k : df.loc[df['A'] == k, 'B'] for k in df['A'].unique() })
a b
0 6 NaN
1 7 NaN
2 NaN 8
3 NaN 9

除了这是不正确的,我想可能还有更有效的方法。我真的很难理解如何用 Pandas 处理事情。

最佳答案

你几乎就在那里,但你需要 .values 作为数组列表,然后提供列名。

pd.DataFrame(pd.DataFrame({ k : df.loc[df['A'] == k, 'B'].values for k in df['A'].unique() }), columns=df['A'].unique())

输出:

    a   b
0 6 8
1 7 9

关于python - 将数据框列值转换为新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50822213/

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