2016-11-25 1 views
-1

나는 거래와 회사가 2 개의 데이터 프레임을 가지고 있습니다.팬더 - 구문 분석 은행 명세서

거래는 은행의 csv에서 직접 이루어집니다. 거래의 세부 정보가 포함 된 긴 문자열이있는 열 "예약 텍스트"가 있습니다. 이러한 문자열은 여러 요인에 따라 다르지만 대부분 다음과 같은 형식으로 표시됩니다.

"Company DERFTHD DE89758975869857 "

회사는 2 열 회사의 목록입니다 -"엔드 투 엔드 참조 :. FRG.3.GH.15789 657,878,987 키를 검색 "과"내가 채워 한 회사 이름이 " 이 "예약 텍스트"문자열을 검색하고 회사 이름을 반환하십시오.

본인은 "키 검색"을 사용하여 "회사 이름"

편집을 포함하는 거래의 프레임에서 새 열을 만들려면 : 죄송합니다 -이에서 총 newb입니다. 내가 다시 시도하자.

그래서 나는 이름

In [1]: df1 = pd.DataFrame([['cat','Bob'], ['dog','Joe'],['bird','Lary']], 
       columns=['A','B']) 
Out[2]: df1 
     A  B 
0 cat Bob 
1 dog Joe 
2 bird Lary 

의 dataframe 문자열의 dataframe (뿐만 아니라 다른 열) 나는 "E"새 열을 만들 수 있도록하려면

In [3]: df2 = pd.DataFrame([['the cat is big','2'],['the cat is small', 4], 
       ['the dog is small',3]], columns=['C','D'] 
Out[4]: 
      C   D 
0 the cat is big  2 
1 the cat is small 4 
2 the dog is small 3 

이 df1에있는 정보를 기반으로 C 열에 문자열의 "제목"을 포함하는 df2에 저장합니다.

그래서 "고양이가 크다", "고양이"그래서 값이 "밥"

내 원하는 출력이있다해야이 포함되어 있습니다.

Out[5]: df3 
      C   D  E 
0 the cat is big  2 Bob 
1 the cat is small 4 Bob 
2 the dog is small 3 Joe 
+1

하지 이해하십시오 - 당신은'key' 검색에 병합 찾는거야? 'transactions' 데이터 프레임에 포함 된'search key'는 어떻게 든됩니까? –

+1

[좋은 재생산 가능한 팬더 예제를 만드는 방법]을 확인하십시오. (http://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples) – jezrael

+0

pd.concat를 찾으십시오. –

답변

2

데이터 프레임 대신 df1에 대한 사전을 만듭니다.

df1_dict = {'cat':'Bob', 'dog':'Joe', 'bird':'Lary' }

for key, value in df1_dict.iteritems(): df2.loc[df2['C'].str.contains(key),'E'] = value

print df2