首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果列的值等于某个值,则更改下一列(python)的值。

如果列的值等于某个值,则更改下一列(python)的值。
EN

Stack Overflow用户
提问于 2020-07-08 15:11:56
回答 1查看 39关注 0票数 0

在使用pycountry_convert将国家映射到大陆之后,我的大陆专栏中有很多“未知”值。其中一个案例是当==国家‘英国’

我想将专栏国家== 'UK‘中所有“未知”的值替换为’欧洲‘,但似乎没有任何效果。到目前为止,我已经尝试了map和下面的代码,但是我所有的大陆值都变成了“EU”

代码语言:javascript
复制
for i in locations['location1']:
        if i == 'UK':
            locations['continent'] = 'EU'

我所拥有的:

代码语言:javascript
复制
     location1   continent
0    USA         NA
1    Peru        SA
2    UK          Unknown
3    NaN         Unknown

我想要的:

代码语言:javascript
复制
     location1   continent
0    USA         NA
1    Peru        SA
2    UK          EU
3    NaN         Unknown
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-08 15:28:42

假设您的数据结构是pandas数据,我做了一个独立的示例,应该完成以下工作:

代码语言:javascript
复制
import pandas

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pandas.DataFrame(data=d)

for i, row in df.iterrows():
    if row["col1"] == 2:
        row["col2"] = 10
        
print(df)

我遍历行并根据第一列的条件更改第二列值。

编辑:我刚刚了解到在熊猫身上可以更有效地完成这个任务:

代码语言:javascript
复制
df.loc[df['col1'] == 2, 'col2'] = 10

所以在你的情况下:

代码语言:javascript
复制
df.loc[df['location1'] == 'UK', 'continent'] = 'EU'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62797996

复制
相关文章

相似问题

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