我从作为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
我想这肯定是一个相对常见的情况,但是我不知道如何以一种优雅的方式做到这一点。
答案 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