首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理一列的for循环中的python - if-else

处理一列的for循环中的python - if-else
EN

Stack Overflow用户
提问于 2022-04-07 07:29:54
回答 1查看 34关注 0票数 1

我感兴趣的是循环通过列转换成处理的系列。

下面是两列、四列数据框架的示例:

代码语言:javascript
复制
import pandas as pd
from rapidfuzz import process as process_rapid
from rapidfuzz import utils as rapid_utils

data = [['r/o ac. nephritis.  /.  nephrotic syndrome', ' ac. nephritis.  /.  nephrotic syndrome',1,'ac   nephritis      nephrotic syndrome'], [ 'sternocleidomastoid contracture','sternocleidomastoid contracture',0,"NA"]]

# Create the pandas DataFrame

代码语言:javascript
复制
df_diagnosis = pd.DataFrame(data, columns = ['diagnosis_name', 'diagnosis_name_edited','is_spell_corrected','spell_corrected_value'])

如果spell_corrected_value列超过1,我希望使用is_spell_corrected列。

目前,我有以下代码可以直接使用diagnosis_name_edited列。如何对is_spell_corrected列进行if-else/lambda检查?

代码语言:javascript
复制
unmapped_diag_series = (rapid_utils.default_process(d) for d in df_diagnosis['diagnosis_name_edited'].astype(str)) # characters (generator)
unmapped_processed_diagnosis = pd.Series(unmapped_diag_series) #

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-07 07:32:57

如果我说得对,可以使用numpy.where尝试这个快速解决方案:

代码语言:javascript
复制
df_diagnosis['new_column'] = np.where(df_diagnosis['is_spell_corrected'] > 1, df_diagnosis['spell_corrected_value'], df_diagnosis['diagnosis_name_edited'])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71778017

复制
相关文章

相似问题

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