2017-12-27 3 views
0

저는 파이썬에 익숙하지 않습니다. 저는 작은 프로젝트에서 작업하려고 노력 중이며 조금 혼란스러워하고 있습니다.팬더가있는 csv에서 파이썬 카운트 발생

all_cars :

first_Car,second_car 
Mazda, Skoda 
Ferrari, Volkswagen 
Volkswagen, Toyota 
BMW, Ferrari 
BMW, Mercedes 

super_cars :

나는 다음과 같다 2 개 CSV 파일이

super_car_name 
Ferrari 
BMW 
Mercedes 

을 내가 basicly 할 노력하고있어 얼마나 많은 계산하는 단지입니다 파일 1에 표시된 파일 2의 자동차 시간. 파일 1에만 표시되고 파일 2에 표시되지 않은 자동차는 원하지 않습니다.

내가 내 예제 파일을 기반으로 할 노력하고있어입니다 :

Ferrari : 2 
BMY : 2 
Mercedes : 1 

답변

2

내가 이런 식으로 할 거라고 :

In [220]: d1.stack().value_counts().to_frame('car').loc[d2.super_car_name] 
Out[220]: 
      car 
Ferrari  2 
BMW   2 
Mercedes 1 

d1d2 - 소스 DataFrames (이 pd.read_csv() 메서드를 사용하여 CSV 파일에서 쉽게 파싱 할 수 있습니다.

In [218]: d1 
Out[218]: 
    first_Car second_car 
0  Mazda  Skoda 
1  Ferrari Volkswagen 
2 Volkswagen  Toyota 
3   BMW  Ferrari 
4   BMW Mercedes 

In [219]: d2 
Out[219]: 
    super_car_name 
0  Ferrari 
1   BMW 
2  Mercedes 
2
df1[df1.isin(df2.super_car_name.values)].stack().value_counts() 

Ferrari  2 
BMW   2 
Mercedes 1 
dtype: int64 
:당신은 하나 개의 테이블에서 모든 것을 얻을 후, stackvalue_counts을 일치를 찾을 수 isin을 사용할 수 있습니다