【pandas教程】根据某列的取值将某列变为多个字段

在数据处理中,有可能遇到需要将某一列的取值变成新的字段,比如有一个表格:

id A B
id1 a 3.2
id1 b 4.1
id2 a 2.2
id2 b 3

现在需要将表格变为如下:

id A_a A_b
id1 3.2 4.1
id2 2.2 3

可以看到A的取值a, b变成了新的字段A_a, A_b。

在pandas中可以使用pivot方法实现上述操作:

 >>> df = pd.DataFrame({"id": ["id1", "id1", "id2", "id2"], "A":["a", "b", "a", "b"], "B":[3.2, 4.1, 2.2, 3]})
 >>> df
    id  A    B
0  id1  a  3.2
1  id1  b  4.1
2  id2  a  2.2
3  id2  b  3.0
>>> df_new = df.pivot(index="id", columns="A", values="B").reset_index()
>>> df_new
A   id    a    b
0  id1  3.2  4.1
1  id2  2.2  3.0
# 重命名字段
>>> df_new.columns = ["id", "A_a", "A_b"]
>>> df_new
    id  A_a  A_b
0  id1  3.2  4.1
1  id2  2.2  3.0

你可能感兴趣的:(python)