我無法在我認爲是一個簡單問題上找到任何明確的答案。這是用於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值(在任何一列以防萬一)?
謝謝你的時間和協助。