python – pandas将数据帧转换为3d数据
发布时间:2020-12-20 12:21:13 所属栏目:Python 来源:网络整理
导读:似乎有很多可能将平面表数据转换为3d数组,但我在某种程度上找不到一个有效的方法:假设我有一些数据有列= [‘name’,’type’,’date’,’值’].当我试图转过头时 pivot(index='name',columns=['type','date'],values='value') 我明白了 ValueError: Buffer
似乎有很多可能将平面表数据转换为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 2 date 2012-01-01 2012-02-01 name A 1 3 B 2 4 和p将是: date value type 1 2 1 2 name A 2012-01-01 2012-02-01 1 3 B 2012-01-01 2012-02-01 2 4 注意:对于pandas版本< 0.14.0,index和columns关键字参数应该分别用行和列替换. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |