2017-12-18 14 views
0

이름의 열을 가진 데이터 프레임이 있습니다. 키와 값으로 이름이 지정된 다른 사전이 있습니다. 이름을 데이터 프레임에 추가하고 사전에서 해당 값을 새 coloumn에 추가합니다.데이터 프레임에서 값을 검색 한 다음 사전에서 해당 값을 새 coloumn에 넣습니다.

my dictionary 
fruits={'mango':1,'apple':2,'guava':0,'nut':1} 

my dataframe 
Fruit 
mango 
apple 
guava 
nut 

예상 출력

Fruit Frequency 
    mango 1 
    apple 2 
    guava 0 
    nut  1 

데이터 프레임은

또한 내 사전 이상의 키 - 값 쌍을 가지면 해당 요소 값을 매핑 할 이미 거기있는 내 원래 데이터 프레임 어떻게 키와 해당 값을 데이터 프레임에 추가 할 수 있습니까? 내 dataframe이

Fruit 
mango 
apple 

경우

는 가정 그리고 지금은 그 값을 가지고 있기 때문에 단지 너트와하지 구아바을하고 싶은 0

그래서 예상 출력에 대한

Fruit Count 
mango 1 
apple 2 
nut 1 
+0

좋습니다. 귀하의 데이터는 어디에 있습니까? 왜 당신 질문에 그것이 아닙니까? [mcve]를 입력하십시오. –

+0

죄송합니다. 포럼에 처음 오신 분 –

+0

예상되는 결과는 무엇입니까? –

답변

0

것 첫 번째 부분은 사용 map/replace -

두 번째 부분에 대한
df 

    Fruit Frequency 
0 mango   1 
1 apple   2 
2 guava   0 
3 nut   1 

706,693,210


df['Frequency'] = df.Fruit.replace(fruits) # alternative to map 
, 당신은 차 집합을 수행 할 수 있습니다 원래와 연결할 -

df 

Fruit 
mango 
apple 

i = df.Fruit 
j = pd.Series(list(set(fruits.keys()).difference(i))) 

df = pd.concat([i, j], ignore_index=True).to_frame('Fruit') 
df 

    Fruit 
0 mango 
1 apple 
2 nut 
3 guava 

함께 행을 삭제하려면 주파수 == 0, 우리 전자 부울 색인 - 또는

df 

    Fruit Frequency 
0 mango   1 
1 apple   2 
2 guava   0 
3 nut   1 

df = df[df.Frequency.gt(0)] 
df 

    Fruit Frequency 
0 mango   1 
1 apple   2 
3 nut   1 

eval/query를 사용합니다.

df.query("Frequency > 0") 

    Fruit Frequency 
0 mango   1 
1 apple   2 
3 nut   1