我有使用以下方法生成的数据:
import pandas as pd
df = pd.DataFrame(columns=["price", "Number"], data=[
["10", "07367"], ["20", "08356"], ["9", "07745"], ["5", "07735"], ["25", "07635"]])
# change column dtypes
df['price'] = df.price.astype(int) # or float
df['Number'] = df.Number.astype(str)
我正在尝试使用多种条件过滤此数据,例如:
print(df[(df['price'] >= 9) & (df['Number'] == "07745")])
输出:
price Number
2 9 07745
但是我想使用difflib序列匹配器作为附加条件。像这样:
print(df[(df['price'] >= 9) & (df['Number'] == "07745") & (difflib.SequenceMatcher(
None, df['Number'], "07445").ratio() >= 0.8)])
但是,由于结果为"Empty dataframe"
,因此无法正常工作。我的预期结果是:
price Number
2 9 07745
请协助。