현재 퍼지 논리가 결합되어야하는 데이터 집합이 있습니다. 데이터 프레임 df1은 약 10 회의 관측치가있는 더 작은 참조 테이블입니다. Dataframe df2는 퍼지 논리 조인 (fuzzy logic join)을 수행해야하는 약 2000 건의 관측이있는 주요 데이터 프레임입니다. 나는 아래의 예와 나의 시도를 제시한다.Python pandas 퍼지 논리
import difflib
df1 = pd.DataFrame({'number':[1,2,3,4,5],'not_shifted':['one','two','three','four','five']})
df2 = pd.DataFrame({'values':[['test'],['a'],['b'],['c'],['d'],['e'],['f'],['f'],['f']],'not_shifted':[np.nan,'one','too','three','fours','five','six',np.nan,'one']})
# my approach
df2['not_shifted'] = df2['not_shifted'].map(lambda x: difflib.get_close_matches(x, df1['not_shifted'])[0])
나는 다음과 같은 오류가 발생합니다 : 당신이 얻을
List out of range
안녕하세요 세레, 내가 dataframe에 대괄호를 제거하려면 어떻게해야 빠른 응답 및 솔루션 : – Seb
안녕하세요 세레, 주셔서 감사합니다. 대답은 정확하지만 솔루션의 대괄호는 약간의 혼란을 야기합니다. 이 데이터 프레임에서 목록을 정의하는 목적은 무엇입니까? 감사. – Seb