将熊猫数据框从(id,name:a,value:b)重新排列为(id,a:b)

时间:2019-12-12 13:38:01

标签: python pandas dataframe

我从作为SQL数据库的pandas数据框中导入数据。每行都包含一个id,一个参数名称和相应的参数值。就像下面的示例一样:

import pandas as pd
data =  [
            ['aaa', 'A', 0],
            ['bbb', 'A', 1],          
            ['aaa', 'B', 2],
            ['bbb', 'B', 3],
            ['aaa', 'C', 4],
            ['bbb', 'C', 5],
]
df = pd.DataFrame(data,  columns=['id', 'name', 'value'])
df = df.set_index('id')
print(df)
    name  value
id             
aaa    A      0
bbb    A      1
aaa    B      2
bbb    B      3
aaa    C      4
bbb    C      5

要分析不同参数A,B,C之间的相关性,我需要一个格式为以下数据帧:

     A  B  C
id          
aaa  0  2  4
bbb  1  3  5

我想这肯定是一个相对常见的情况,但是我不知道如何以一种优雅的方式做到这一点。

1 个答案:

答案 0 :(得分:1)

是的,pivot_table有一个简单的解决方案:

output = df.pivot_table(index='id', columns='name')
print(output)

    value      
name     A  B  C
id              
aaa      0  2  4
bbb      1  3  5