python – pandas将数据帧转换为3d数据

python – pandas将数据帧转换为3d数据,第1张

概述似乎有很多可能将平面表数据转换为3d数组,但我在某种程度上找不到一个有效的方法:假设我有一些数据有列= [‘name’,’type’,’date’,’值’].当我试图转过头时 pivot(index='name', columns=['type', 'date'], values='value') 我明白了 ValueError: Buffer has wrong number of dimens 似乎有很多可能将平面表数据转换为3d数组,但我在某种程度上找不到一个有效的方法:假设我有一些数据有列= [‘name’,’type’,’date’,’值’].当我试图转过头时

pivot(index='name',columns=['type','date'],values='value')

我明白了

ValueError: Buffer has wrong number of dimensions (expected 1,got 2)

我是否可以阅读开发熊猫的文档?看起来这就是那里描述的用法.我正在跑0.8只熊猫.

我想,我想知道我是否有一个MultiIndex [‘x’,’y’,’z’]系列,是否有大熊猫方式将其放入面板?我可以使用groupby并完成工作,但这几乎就像我在numpy中组装n-d数组时所做的那样.看起来像一个相当通用的 *** 作,所以我想它可能已经实现.

解决方法 pivot仅支持使用单个列生成列.您可能希望使用 pivot_table来生成使用多个列的数据透视表,例如

pandas.tools.pivot.pivot_table(your_dataframe,values='value',index='name',aggfunc='sum')

API reference和documentation for pivot中提到的分层列与您有多个值字段而不是多个类别的情况相关.

假设’type’和’date’是类别,其值应该用作列名,那么你应该使用pivot_table.

但是,如果要为同一类别(例如“类型”)的不同值字段使用单独的列,则应使用pivot而不指定value列,将类别指定为columns参数.

例如,假设您有此DataFrame:

df = DataFrame({'name': ['A','B','A','B'],'type': [1,1,2,2],'date': ['2012-01-01','2012-01-01','2012-02-01','2012-02-01'],'value': [1,3,4]})pt = df.pivot_table(values='value','date'])p = df.pivot('name','type')

pt将是:

type           1           2date  2012-01-01  2012-02-01name                        A              1           3B              2           4

和p将是:

date              value   type           1           2      1  2name                                  A     2012-01-01  2012-02-01      1  3B     2012-01-01  2012-02-01      2  4

注意:对于pandas版本< 0.14.0,index和columns关键字参数应该分别用行和列替换.

总结

以上是内存溢出为你收集整理的python – pandas将数据帧转换为3d数据全部内容,希望文章能够帮你解决python – pandas将数据帧转换为3d数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存