Ben*_*reu 0 python dataframe pandas
我正在尝试用 python 复制这篇文章,作为提高 pandas 技能的通用方法。
现在,我面临以下问题。在该文档的第 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
Run Code Online (Sandbox Code Playgroud)
我如何使用它来获得“tmax”和“tmin”列?
当然,我可以使用 for 循环,但我在某处读到,每次您发现自己在操作数据帧时执行复杂的代码时,已经存在一个函数可以执行您想要执行的操作。
迄今为止我最好的尝试:
weather_molten.pivot(index='date', columns='element', values='value')
Run Code Online (Sandbox Code Playgroud)
结果 :
正如你所看到的,我现在有一个多索引 DF(与文章中的结果相去甚远),我不再有“id”列......
任何想法 ?
感谢您的时间 !
你就快到了!
pandas.DataFrame.pivot_table()有点不同,pandas.DataFrame.pivot()因为它可以处理(1)多个列作为索引,也可以处理(2)这些索引中的重复条目。
weather_molten.pivot_table(index=['id', 'date'], columns='element', values='value')那么就可以了。
如果您真的不想使用多重索引,您可以.reset_index()展平索引并退回到常规行号。
您所引用的文章中描述的许多突变也在 pandas 文档的此页面上进行了描述:重塑和数据透视表。
| 归档时间: |
|
| 查看次数: |
3694 次 |
| 最近记录: |