首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IndexError:使用DataFrame列中的文本值更改行中的值时,列表索引超出范围

IndexError:使用DataFrame列中的文本值更改行中的值时,列表索引超出范围
EN

Stack Overflow用户
提问于 2021-07-21 17:56:01
回答 1查看 36关注 0票数 1

我正在尝试将dataFrame中列中的数据从数字更改为文本,但到目前为止,我的解决方案不起作用。

示例

代码语言:javascript
复制
# Save results and compute score of probabilities...
     id  ... categorie_fmc
0     5  ...             1
1     7  ...             1
2    11  ...             1
3    12  ...             1
4    17  ...             0

我尝试过的:

代码语言:javascript
复制
finalFile = pd.DataFrame(liste, columns=['id', 'participant','sent','categorie_fmc'])
    
# view DataFrame
print(finalFile)
    
# replace
labels = ['Frein', 'Motivation' 'condition']
finalFile['categorie_fmc'] = np.where(finalFile['categorie_fmc'] == 0, labels[0], finalFile['categorie_fmc'])
finalFile['categorie_fmc'] = np.where(finalFile['categorie_fmc'] == 1, labels[1], finalFile['categorie_fmc'])
finalFile['categorie_fmc'] = np.where(finalFile['categorie_fmc'] == 2, labels[2], finalFile['categorie_fmc'])

但它不工作,得到这个错误:

代码语言:javascript
复制
IndexError: list index out of range
finalFile['categorie_fmc'] = np.where(finalFile['categorie_fmc'] == 2, labels[2], finalFile['categorie_fmc'])
IndexError: list index out of range
srun: error: r14i5n2: task 0: Exited with exit code 1
srun: Terminating job step 519075.0

我所期待的:

代码语言:javascript
复制
# Save results and compute score of probabilities...
     id  ... categorie_fmc
0     5  ...             Motivation
1     7  ...             Motivation
2    11  ...             Motivation
3    12  ...             Motivation
4    17  ...             Frein
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-21 17:58:03

尝试使用map函数:

代码语言:javascript
复制
finalFile['categorie_fmc'] = finalFile['categorie_fmc'].map({0: 'Frein', 1: 'Motivation', 2: 'condition'})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68467496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档