У меня есть данные, которые я сгенерировал, используя:
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 sequencematcher в качестве дополнительного условия. Примерно так:
print(df[(df['price'] >= 9) & (df['Number'] == "07745") & (difflib.SequenceMatcher(
None, df['Number'], "07445").ratio() >= 0.8)])
Тем не менее, это не работает, как ожидалось, так как результат "Empty dataframe"
. Мой ожидаемый результат:
price Number
2 9 07745
Пожалуйста, помогите.