作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
我有一个调查问卷,其中包含可以有多个答案的问题,使用一组复选框进行选择。
当我从响应表中获取数据并将其导入 pandas 时,我得到了这个:
Timestamp Sports you like Age
0 23/11/2013 13:22:30 Football, Chess, Cycling 15
1 23/11/2013 13:22:34 Football 25
2 23/11/2013 13:22:39 Swimming,Football 22
3 23/11/2013 13:22:45 Chess, Soccer 27
4 23/11/2013 13:22:48 Soccer 30
运动列中可以有任意数量的运动值(进一步的行有篮球、 Volley 等)并且还有一些其他列。我想对问题的结果进行统计(有多少人喜欢足球等)。问题是,所有答案都在一列中,因此按该列分组并询问计数是行不通的。
Pandas 中是否有一种简单的方法可以将这种数据框转换为一个包含多个列的数据框,分别称为运动-足球、运动- Volley 、运动-篮球,其中每一个都是 bool 值(1 表示是,0 表示不)?我想不出一个明智的方法来做到这一点
我需要的是一个如下所示的新数据框(以及年龄列)-
Timestamp Sports-Football Sports-Chess Sports-Cycling ....
0 23/11/2013 13:22:30 1 1 1
1 23/11/2013 13:22:34 1 0 0
2 23/11/2013 13:22:39 1 0 0
3 23/11/2013 13:22:45 0 1 0
我尝试到这里无法继续进行。
df['Sports you like'].str.split(',\s*')
它分成不同的列,但第一列可能有任何运动,如果用户喜欢足球,我只需要第一列中的 1 或 0。
我是一名优秀的程序员,十分优秀!