如何防止熊猫枢轴丢弃不在枢轴中的其他列?

时间:2018-09-25 19:32:09

标签: python python-3.x pandas pivot

我有一个如下所示的df:

id   FieldTitle  Value  number
1     fname       aaa    12
2     lname       bbb    12

运行以下代码行:

pivoted_df = pd.pivot_table(df, index='Id', columns='FieldTitle', values='Value', aggfunc='first').reset_index()

剩下的df是:

fname    lname
aaa        bbb

为什么枢轴导致其他列消失,我该如何解决?

df应该看起来像这样:

id   fname  lname  number
1     aaa    bbb    12

1 个答案:

答案 0 :(得分:1)

我尝试在此处重现您的示例,我认为向索引添加静态列将解决您的问题

df = pd.DataFrame({"id":[1,2], "FieldTitle":["fname", "lname"], "Value":["aaa", "bbb"], "number":[12,12]})
pivoted_df = pd.pivot_table(df, index=["number"], columns='FieldTitle', values=['Value'], aggfunc='first').reset_index()

然后,您将需要重命名列,因为您将拥有一个多索引。

或者考虑透视,从原始数据集中删除重复的列,然后与结果合并在一起