python - 实现数据透视表的“对立面”——重塑表以使选定列的唯一值成为索引
问题描述
我想要实现的是一种与数据透视表相反的东西。
基本上,我从这个数据框开始:
生成它的代码是:
df = pd.DataFrame({'bus ticket type':['student', 'student', 'student', 'senior', 'senior', 'senior'],
'distance (km)':['5', '10', '15', '5', '10', '15'],
'bus fare':['100', '120', '130', '90', '100', '110']})
您看到'distance (km)'
5、10 和 15 公里中有 3 个唯一值吗?我正在尝试将此列中的唯一值作为数据框的索引。
所以我想把它变成:
生成第二个数据帧的代码是:
df2 = pd.DataFrame({'distance (km)':['5', '10', '15'],
'student_bus_fare':['100', '120', '130'],
'senior_bus_fare':['90', '100', '110']})
我不是试图计算“学生”或“老年人”类别的平均分数或总分,也不是试图aggfunc
根据距离实现某种类似的使用。
我纯粹想重新塑造它,以便distance
索引中的唯一值。所有代表票价的原始值仍然完好无损。
解决方案
.pivot
df = pd.DataFrame({'bus ticket type':['student', 'student', 'student', 'senior', 'senior', 'senior'],
'distance (km)':['5', '10', '15', '5', '10', '15'],
'bus fare':['100', '120', '130', '90', '100', '110']})
df2 = df.pivot(index='distance (km)', columns='bus ticket type', values='bus fare')
产量
bus ticket type senior student
distance (km)
10 100 120
15 110 130
5 90 100
推荐阅读
- angularjs - 使用ng-bind-html时如何在angularjs中允许外部链接
- asp.net - 将包含文件夹中的所有图像加载到图像滑块
- linux - 在lattepanda linux中以x秒延迟自动启动程序
- apache-kafka - 我可以在 KSQL 中编写子查询吗?
- django - 在 CharField 上强制执行 max_length
- apache-spark - Spark/k8s:如何以客户端模式在现有的 kubernetes 集群上安装 Spark 2.4?
- python - 点击自定义选项提示功能
- python-3.x - 从 python3 C 扩展返回一个数组
- php - 如何将 if 放入 HTML/PHP 中的变量中
- python - 从所有元素中删除所有带有 etree 的数据属性