gpt4 book ai didi

python-3.x - Dataframe 融化并保留索引

转载 作者:行者123 更新时间:2023-12-04 10:19:29 24 4
gpt4 key购买 nike

我有一个像这样的数据框:

    df = pd.DataFrame(
[
["True", "False"],
["True", "True"],
["False", "True"],

],
index=["bob", "sue", "joe"],
columns=["R1", "R2"],
)

我想融化 df 以便使用索引名称,并将 Trues 替换为列名称,因此输出如下:

    df = pd.DataFrame(
[
["bob", "R1"],
["sue", "R1"],
["sue", "R2"],
["joe", "R2"],
],
columns=["Names", "Role"],
)

我怎样才能做到这一点?

最佳答案

使用DataFrame.melt首先将索引转换为列:

df = df.rename_axis('Names').reset_index().melt('Names', var_name='Role')

然后按True 值过滤:

df = df.loc[df['value'].map({'True':True, 'False':False}), ['Names','Role']]

或者:

df = df.loc[df['value'] == 'True', ['Names','Role']]

print(df)  
Names Role
0 bob R1
1 sue R1
4 sue R2
5 joe R2

关于python-3.x - Dataframe 融化并保留索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60928428/

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