Python Pandas数据帧:使用行值创建列

2024-06-12 21:34:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在python中复制this article,作为提高我熊猫技能的一般方法。在

我现在正面临这个问题。在该文件的第11页,您将看到表12(a)和表2(b)。我找到了从表11到表12(a)的方法,但现在我卡住了。在

我有以下数据帧:

    id  date    element value
12  MX17004 2010-02-02  tmax    27.3
13  MX17004 2010-02-02  tmin    14.4
22  MX17004 2010-02-03  tmax    24.1
23  MX17004 2010-02-03  tmin    14.4
44  MX17004 2010-03-05  tmax    32.1
45  MX17004 2010-03-05  tmin    14.2

如何使用它来获得“tmax”和“tmin”列?在

当然,我可以使用for循环,但我在某个地方读到,每当您发现自己在处理数据帧时正在执行复杂的代码时,已经存在一个函数来执行您想要的操作。在

我迄今为止最好的尝试:

^{pr2}$

结果:

enter image description here

如您所见,我现在有了一个多索引DF(与本文的结果相差甚远),我不再有'id'列了。。。在

有什么想法吗?在

感谢您抽出时间!在


Tags: 文件数据方法idfordatevalue技能
1条回答
网友
1楼 · 发布于 2024-06-12 21:34:07

你快到了!在

^{}与{a2}有点不同,它可以同时处理(1)多个列作为索引,也可以(2)处理这些索引中的重复项。在

weather_molten.pivot_table(index=['id', 'date'], columns='element', values='value')会成功的。在

如果您真的热衷于使用多重索引,那么您可以.reset_index()将索引变平并返回到常规行号。在

您所指的文章中描述的许多突变也在pandas文档中描述:Reshaping and Pivot Tables。在

相关问题 更多 >