有什么建议去掉column = periodo_dia而不丢弃任何列?
原始数据框如下所示:
| | year | month | day | periodo_dia | valor_medida | score_recogida |
|---|------|-------|-----|-------------|--------------|----------------|
| 0 | 2015 | 4 | 18 | manana | 25.0 | 8.166667 |
| 1 | 2015 | 4 | 18 | noche | 47.5 | 0.000000 |
| 2 | 2015 | 4 | 18 | tarde | 20.0 | 0.000000 |
| 3 | 2015 | 4 | 19 | manana | 0.0 | 0.000000 |
| 4 | 2015 | 4 | 19 | noche | 0.0 | 4.066667 |
期望的数据框应该是:
| year | month | day | manana | tarde | noche | valor_medida | score_recogida |
|------|-------|-----|--------|-------|-------|--------------|----------------|
| 2015 | 4 | 18 | 1 | 0 | 0 | 25.0 | 8.166667 |
| 2015 | 4 | 18 | 0 | 0 | 1 | 47.5 | 0.000000 |
| 2015 | 4 | 18 | 0 | 1 | 0 | 20.0 | 0.000000 |
解决方法:
您可以使用get_dummies
和astype
将转换值转换为整数,drop
和concat
:
df1 = pd.get_dummies(df['periodo_dia']).astype(int)
print df1
manana noche tarde
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
4 0 1 0
#drop column periodo_dia
df = df.drop('periodo_dia',axis=1)
print pd.concat([df, df1], axis=1)
year month day valor_medida score_recogida manana noche tarde
0 2015 4 18 25.0 8.166667 1 0 0
1 2015 4 18 47.5 0.000000 0 1 0
2 2015 4 18 20.0 0.000000 0 0 1
3 2015 4 19 0.0 0.000000 1 0 0
4 2015 4 19 0.0 4.066667 0 1 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。