我有一个非常希望直截了当的问题,在最近3个小时中,这一直给我带来很多困难。应该很容易。
这是挑战。
我有一个熊猫数据框:
+--------------------------+
| Col 'X' Col 'Y' |
+--------------------------+
| class 1 cat 1 |
| class 2 cat 1 |
| class 3 cat 2 |
| class 2 cat 3 |
+--------------------------+
我想要将数据框转换为:
+------------------------------------------+
| cat 1 cat 2 cat 3 |
+------------------------------------------+
| class 1 1 0 0 |
| class 2 1 0 1 |
| class 3 0 1 0 |
+------------------------------------------+
值是值计数。有人有见识吗?谢谢!
这是重塑数据的几种方法 df
In [27]: df
Out[27]:
Col X Col Y
0 class 1 cat 1
1 class 2 cat 1
2 class 3 cat 2
3 class 2 cat 3
1) 使用pd.crosstab()
In [28]: pd.crosstab(df['Col X'], df['Col Y'])
Out[28]:
Col Y cat 1 cat 2 cat 3
Col X
class 1 1 0 0
class 2 1 0 1
class 3 0 1 0
2) 或者,groupby
在over上'Col X','Col Y'
使用,然后填充零。unstack``Col Y``NaNs
In [29]: df.groupby(['Col X','Col Y']).size().unstack('Col Y', fill_value=0)
Out[29]:
Col Y cat 1 cat 2 cat 3
Col X
class 1 1 0 0
class 2 1 0 1
class 3 0 1 0
3) 或者使用pd.pivot_table()
与index=Col X
,columns=Col Y
In [30]: pd.pivot_table(df, index=['Col X'], columns=['Col Y'], aggfunc=len, fill_value=0)
Out[30]:
Col Y cat 1 cat 2 cat 3
Col X
class 1 1 0 0
class 2 1 0 1
class 3 0 1 0
4) 或者,set_index
与unstack
In [492]: df.assign(v=1).set_index(['Col X', 'Col Y'])['v'].unstack(fill_value=0)
Out[492]:
Col Y cat 1 cat 2 cat 3
Col X
class 1 1 0 0
class 2 1 0 1
class 3 0 1 0
我有一个这样的数据帧: 我想知道我们如何使用GROUPBY实现相同的结果? 感谢帮助。 类似的问题: Pandas列值到列?
问题内容: 我有大约700万行,其中有60列以上。数据超出了我的内存容量。我正在基于列“ A”的值将数据聚合到组中。熊猫拆分/汇总/合并的文档假定我已经将所有数据都存储在了,但是我无法将整个商店读取到内存中。在分组数据的正确方法是什么? 问题答案: 这是一个完整的例子。 输出量 一些警告: 1)如果您的组密度相对较低,则此方法很有意义。大约数百或数千个组。如果获得的收益更多,则效率更高(但方法更复
问题内容: 我正在将具有两列(A和B)的记录列表转换成矩阵表示形式。我一直在熊猫中使用数据透视功能,但结果最终还是很大。大熊猫支持枢轴化为稀疏格式吗?我知道我可以先将其旋转,然后将其转换为某种稀疏表示,但并不像我想要的那么优雅。我的最终目标是将其用作预测模型的输入。 另外,大熊猫之外是否还有某种稀疏的枢轴能力? 编辑:这是一个非稀疏枢轴的示例 这将创建一个矩阵,其中可能包含人和事物的所有可能组合,
A 数据透视表介绍 B.1 什么是数据透视表? 数据透视表是一种可以快速汇总、分析大量数据表格的交互式工具。使用数据透视表可以按照数据表格的不同字段从多个角度进行透视,并建立交叉表格,用以查看数据表格不同层面的汇总信息、分析结果以及摘要数据。使用数据透视表可以深入分析数值数据,以帮助用户发现关键数据,并做出有关企业中关键数据的决策。 数据透视表是针对以下用途特别设计的:以友好的方式,查看大量的数据
数据透视表显示二维交集的度量值,并在表格视图中表示数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 不透明度 设置背景颜色的不透明度。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水
数据透视表显示二维交集的度量值,并在表格视图中表示数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水平对齐方式。 数据 字体 设置字段名