홈>
3 개의 열이있는 데이터 프레임이 있고 튜플 목록 인 해당 데이터 프레임의 두 번째 열만 반복하고 싶습니다. 해당 목록에서 각 튜플의 마지막 요소 만 추가하고 싶습니다
fuzzywuzzy를 사용하여 텍스트 일치 스크립트를 만들었습니다.
import pandas as pd
from fuzzywuzzy import process, fuzz
pd.set_option('display.width', 1000)
pd.set_option('display.max_columns', 10)
data = pd.read_csv(r"address_details.csv", skiprows=0)
id = data['COD_CUST_ID'].values.tolist()
address = data['ADDRESS'].values.tolist()
dict_list=[]
for i in range(0,len(id)):
for add in range(0,len(address)):
score=process.extractBests(address[add], address, limit=len(address), score_cutoff=40)
#print(score)
dict_={}
dict_.update({"Cust_Id": id[i]})
dict_.update({"Match Ratio": score})
dict_.update({"Search String": address[add]})
#dict_.update({"Address List": address})
dict_list.append(dict_)
df=pd.DataFrame(dict_list)
print(df)
s=df.to_csv("match_score.csv",sep=',',index=None)
원래 CSV 데이터
Cust_Id Match Ratio Search String
21527575 [('H.NO.407,ROOM NO.310. 3RD FLOOR MAQBOOL APARTMENT APARTMENT OPP, RABIYA MASJID MANGAL BAZAR SLAP KOT THANE MAHARASHTRA 421302', 100)] H.NO.407,ROOM NO.310. 3RD FLOOR MAQBOOL APARTMENT APARTMENT OPP, RABIYA MASJID MANGAL BAZAR SLAP KOT THANE MAHARASHTRA 421302
21527575 [('H.NO.407, ROOM NO.310, 3RD FLOOR MAQBOOL APARTMENT OPP,RABIYA MASJID MANGAL BAZAR SLAP KOTER GATE THANE MAHARASHTRA 421302', 100)] H.NO.407, ROOM NO.310, 3RD FLOOR MAQBOOL APARTMENT OPP,RABIYA MASJID MANGAL BAZAR SLAP KOTER GATE THANE MAHARASHTRA 421302
21527575 [('FLAT NO.103, 1ST FLOOR B-WING,CTS NO.388,KAAP TALAVO ZAITOON PURA BEHIND KOTER GATE MASJID BHIWANDI THANE MAHARASHTRA 421302', 100)] FLAT NO.103, 1ST FLOOR B-WING,CTS NO.388,KAAP TALAVO ZAITOON PURA BEHIND KOTER GATE MASJID BHIWANDI THANE MAHARASHTRA 421302
21527575 [('VPO. SAHWA CHURU RAJASTHAN 331302', 100)] VPO. SAHWA CHURU RAJASTHAN 331302
21527575 [('WARD NO.-3 NATT ROAD TALWANDI SABO BATHINDA BATHINDA PUNJAB 151302', 100)] WARD NO.-3 NATT ROAD TALWANDI SABO BATHINDA BATHINDA PUNJAB 151302
21527575 [('H.NO.-137 RAMA ROAD TALWANDI SABO BATHINDA BATHINDA PUNJAB 151302', 100)] H.NO.-137 RAMA ROAD TALWANDI SABO BATHINDA BATHINDA PUNJAB 151302
21527575 [('WARD NO 25 GHADSISAR ROAD BASANT KUNJ KE SAMNE HANUMAN MANDIR KE PASS CHOUDHARY COLONY GANGASHAR BIKANER RAJASTHAN 334001', 100)] WARD NO 25 GHADSISAR ROAD BASANT KUNJ KE SAMNE HANUMAN MANDIR KE PASS CHOUDHARY COLONY GANGASHAR BIKANER RAJASTHAN 334001
21527575 [('Karchha Kalan UDAIPUR RAJASTHAN 313803', 100)] Karchha Kalan UDAIPUR RAJASTHAN 313803
21527575 [('VAGPUR KARCHCHA KALAN UDAIPUR RAJASTHAN 313803', 100)] VAGPUR KARCHCHA KALAN UDAIPUR RAJASTHAN 313803
21527575 [('VILLAGE GORIYAN TEHSIL UDAIPURWATI DIST JHUNJHUNU JHUJHUNU RAJASTHAN 333307', 100)] VILLAGE GORIYAN TEHSIL UDAIPURWATI DIST JHUNJHUNU JHUJHUNU RAJASTHAN 333307
원하는 결과 :
Cust_Id Match Ratio Search String
21527575 100 H.NO.407,ROOM NO.310. 3RD FLOOR MAQBOOL APARTMENT APARTMENT OPP, RABIYA MASJID MANGAL BAZAR SLAP KOT THANE MAHARASHTRA 421302
21527575 100 H.NO.407, ROOM NO.310, 3RD FLOOR MAQBOOL APARTMENT OPP,RABIYA MASJID MANGAL BAZAR SLAP KOTER GATE THANE MAHARASHTRA 421302
21527575 100 FLAT NO.103, 1ST FLOOR B-WING,CTS NO.388,KAAP TALAVO ZAITOON PURA BEHIND KOTER GATE MASJID BHIWANDI THANE MAHARASHTRA 421302
21527575 100 VPO. SAHWA CHURU RAJASTHAN 331302
21527575 100 WARD NO.-3 NATT ROAD TALWANDI SABO BATHINDA BATHINDA PUNJAB 151302
21527575 100 H.NO.-137 RAMA ROAD TALWANDI SABO BATHINDA BATHINDA PUNJAB 151302
21527575 100 WARD NO 25 GHADSISAR ROAD BASANT KUNJ KE SAMNE HANUMAN MANDIR KE PASS CHOUDHARY COLONY GANGASHAR BIKANER RAJASTHAN 334001
21527575 100 Karchha Kalan UDAIPUR RAJASTHAN 313803
21527575 100 VAGPUR KARCHCHA KALAN UDAIPUR RAJASTHAN 313803
21527575 100 VILLAGE GORIYAN TEHSIL UDAIPURWATI DIST JHUNJHUNU JHUJHUNU RAJASTHAN 333307
- 답변 # 1
- 답변 # 2
데이터 프레임이 약간 불분명했습니다.
문제가 해결되는지 확인하십시오.
import pandas as pd # Sample data frame data = pd.DataFrame({'a': [1, 2, 3], 'b': [[(1, 2)], [(2, 3)], [(3, 4)]]}) print(data) # Data a b 0 1 [(1, 2)] 1 2 [(2, 3)] 2 3 [(3, 4)] # Fix # [-1] selects last element in tuple data['b'] = data['b'].apply(lambda x: x[0][-1]) print(data) # Result a b 0 1 2 1 2 3 2 3 4
관련 자료
- 함수의 일부로 R의 열 이름 업데이트 문제
- ggplot2 - R "yy-mmm"문자로 된 날짜 열을 정수로 된 "yyyy"라는 새 열로 변환하여 그래프 시각화를 수행하는 방법은 무엇입니까?
- python - itertoolsproduct ()에서 정수와 튜플 값의 매개 변수 조합을 만드는 방법은 무엇입니까?
- python - 사이에 공백이있는 숫자가있는 열에 대해 dtype - object를 정수로 변환
- mysql - sql - 정수 열을 버킷하고 각 버킷을 계산합니다
- arima - R에서 정수 대신 벡터로 Seed를 설정하고 자동화하고 싶습니다
- Spark Scala SQL에서 기본 열 대신 집계 열의 이름을 지정하려면 어떻게해야합니까?
- java - 10 진수 값 대신 정수 값을 표시하는 방법
- python - 목록 이해력으로 팬더 열 이름과 값에서 튜플 만들기
- Django는 업데이트 대신 레코드를 삽입합니다
- python - index () 메서드가 None 대신 정수를 반환하도록 만드는 방법은 무엇입니까?
- python - 열 튜플을 문자열로 변환
- excel - vba - for 루프가 설계된대로 여러 열 대신 하나의 열로 출력
- python - 개체 데이터 형식 열을 정수 오류로 변환
관련 질문
- Python pandas 람다 함수를 사용하여 중복 code를 한 줄로 변환하는 방법
- python : groupby 사용 및 열에 값 추가
- python : 팬더는 조건에 따라 새 열을 계산합니다.
- python : 값/중첩 np.where 알 수 없는 깊이를 기반으로 df의 여러 열을 단일 열로 통합
- python : 팬더 사용자 정의 데이터 포인트로 Seaborn Violinplot을 만드는 방법은 무엇입니까?
- bash 스크립트에서 올바른 Python 설치를 동적으로 선택하십시오.
- python : 값이 두 번 이상 나타나면 값을 취하는 목록 만들기
- python : pd.isna를 사용한 Pandas NaT 명시적 인스턴스화 및 어설션
- python : 3059x704760 픽셀의 이미지 크기가 너무 큽니다. 각 방향으로 2^16보다 작아야 합니다.
- Python에서 데이터 프레임의 여러 열에 대한 EDA for 루프
열 이름이 명확하지 않으므로 일반 코드를 작성하고 있습니다.
이 튜플의 세 번째 요소로 B 열을 업데이트하고 있습니다.
도움이 되길 바랍니다 :)
샘플 프로그램 ::
출력 ::