加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 替换pandas中列内的值

发布时间:2020-12-20 12:35:13 所属栏目:Python 来源:网络整理
导读:我试图替换此数据框中’Period’列的值: Year Period y yhat Contas Resultado 0 2017 1 1.251556e+00 1.251556e+00 Devolu??es 1 2017 2 2.109900e-01 2.109899e-01 Devolu??es 2 2017 3 1.186015e+00 1.186015e+00 Devolu??es 3 2017 4 2.530208e-01 2.53
我试图替换此数据框中’Period’列的值:

Year  Period        y          yhat                Contas Resultado 
0   2017       1  1.251556e+00  1.251556e+00               Devolu??es   
1   2017       2  2.109900e-01  2.109899e-01               Devolu??es   
2   2017       3  1.186015e+00  1.186015e+00               Devolu??es   
3   2017       4  2.530208e-01  2.530208e-01               Devolu??es   
4   2017       5  2.305744e-01  2.305745e-01               Devolu??es   
5   2017       6  2.367768e-01  2.367768e-01               Devolu??es   
6   2017       7  2.509670e-01  2.509670e-01               Devolu??es   
7   2017       8  2.525350e-01  2.525350e-01               Devolu??es   
8   2017       9  2.509663e-01  2.509663e-01               Devolu??es   
9   2017      10  2.204747e-01  2.204747e-01               Devolu??es   
10  2017      11  2.262774e-01  2.262774e-01               Devolu??es   
11  2017      12  2.373548e-01  2.373548e-01               Devolu??es   
12  2018       1  1.155845e+00  1.155845e+00               Devolu??es   
...

使用此命令:

repl_dict = {
    '01': 'M1','02': 'M2','03': 'M3','04': 'M4','05': 'M5','06': 'M6','07': 'M7','08': 'M8','09':'M9','10':'M10','11':'M11','12':'M12'
}

results['Period'].replace(repl_dict)

但是我收到以下错误:

TypeError: Cannot compare types 'ndarray(dtype=int64)' and 'str'

解决方法

Python 3.6 f-strings

df.assign(Period=[f'M{i}' for i in df.Period])

    Year Period         y      yhat Contas Resultado
0   2017     M1  1.251556  1.251556       Devolu??es
1   2017     M2  0.210990  0.210990       Devolu??es
2   2017     M3  1.186015  1.186015       Devolu??es
3   2017     M4  0.253021  0.253021       Devolu??es
4   2017     M5  0.230574  0.230574       Devolu??es
5   2017     M6  0.236777  0.236777       Devolu??es
6   2017     M7  0.250967  0.250967       Devolu??es
7   2017     M8  0.252535  0.252535       Devolu??es
8   2017     M9  0.250966  0.250966       Devolu??es
9   2017    M10  0.220475  0.220475       Devolu??es
10  2017    M11  0.226277  0.226277       Devolu??es
11  2017    M12  0.237355  0.237355       Devolu??es
12  2018     M1  1.155845  1.155845       Devolu??es

str.format函数

df.assign(Period=df.Period.map('M{}'.format))

    Year Period         y      yhat Contas Resultado
0   2017     M1  1.251556  1.251556       Devolu??es
1   2017     M2  0.210990  0.210990       Devolu??es
2   2017     M3  1.186015  1.186015       Devolu??es
3   2017     M4  0.253021  0.253021       Devolu??es
4   2017     M5  0.230574  0.230574       Devolu??es
5   2017     M6  0.236777  0.236777       Devolu??es
6   2017     M7  0.250967  0.250967       Devolu??es
7   2017     M8  0.252535  0.252535       Devolu??es
8   2017     M9  0.250966  0.250966       Devolu??es
9   2017    M10  0.220475  0.220475       Devolu??es
10  2017    M11  0.226277  0.226277       Devolu??es
11  2017    M12  0.237355  0.237355       Devolu??es
12  2018     M1  1.155845  1.155845       Devolu??es

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读