我无法在我认为是一个简单问题上找到任何明确的答案。这是用于Python 3.当你的列同时具有空值和非空值时,在你的数据中应用函数,循环等等时,你有什么技巧和窍门?在循环数据时忽略NaN/null值
下面是我今天清理一些数据时碰到的例子。我有一个函数,从我的合并数据框中取两列,然后计算一个比率,显示两个字符串的相似程度。
进口:
from difflib import SequenceMatcher
import pandas as pd
import numpy as np
import pyodbc
import difflib
import os
from functools import partial
import datetime
我的功能:
def apply_sm(merged, c1, c2):
return difflib.SequenceMatcher(None, merged[c1], merged[c2]).ratio()
下面是我在呼唤我的代码示例中的功能:
merged['NameMatchRatio'] = merged.apply(partial(apply_sm, c1='CLIENT NAME', c2='ClientName'), axis=1)
客户名称没有空值,而CLIENTNAME确实有空值(当我尝试应用我的函数时抛出错误)。我怎样才能应用我的功能,而忽略NaN值(在任何一列以防万一)?
谢谢你的时间和协助。