pandas - Pandas 2 列数据框分类行
问题描述
我有一个包含两列、值和类别的数据框。我需要将数据框转换为每个值有一行,该值相关类别为 1 或 0。
所以从这里:
+--------+--------------+
| value | category |
+--------+--------------+
| 1 | 32 |
| 1 | 33 |
| 1 | 34 |
| 1 | 35 |
| 2 | 32 |
| ... | ... |
+--------+--------------+
对此:
+--------+----+----+----+----+
| value | 32 | 33 | 34 | 35 |
+--------+----+----+----+----+
| 1 | 1 | 1 | 1 | 1 |
| 2 | 1 | 0 | 0 | 0 |
+--------+----+----+----+----+
我试图通过使用嵌套循环来解决这个问题,但它太慢了。有没有更好的办法?
解决方案
这应该可行,接受@ALollz
建议并重置索引。
import pandas as pd
raw_data = {'value': [1, 1, 1, 2, 2],
'category': [32, 33, 34, 35, 36]}
df = pd.DataFrame(raw_data)
df = pd.crosstab(df.value, df.category).clip(upper=1)
df.reset_index(drop=True)
推荐阅读
- arrays - 使用并发在旋转的排序数组中查找最小值
- git - 使用 docker 将持久的 postgres 数据推送到 git
- angular - Angular 5 - 如何对 ng5-fileupload 组件中的删除文件进行验证
- javascript - 当给出相同的结构时,为什么要求的行为与导入不同
- java - Log4j2 记录到文件和控制台
- arrays - 使用 Array() 构造函数声明数组的正确方法?
- c++ - 为什么需要知道一个类是平凡的还是具有平凡的构造函数?
- python - 如何在 PIL.ImageFont 中使用我自己的位图字体?
- php - 如何从 json 数组中获取所有定价值
- php - 如何在WordPress中按ID提取和显示帖子?