2017-02-20 6 views
0

使用されるデータは、Gapminderのデータである - > employment_above_15.csv次の分析でさらに分類を行うにはどうすればよいですか?

# defining functions for finding correlation 
    def correlation(x,y): 
     std_x = (x-x.mean())/(x.std(ddof = 0)) 
     std_y = (y-y.mean())/(y.std(ddof=0)) 
     return (std_x * std_y).mean() 

    #function for calculating correlation for each country with time 
    def emp_country(country,df): 
     emp_country=df.loc[country] 
     year_are=df.columns.values.astype(str).astype(int) 
     return correlation(emp_country.values, year_are)`def 

    determing_cor_level(data): 
     data1 = abs(data) 
     if data1 < 0.4: 
      return "Low" 
     elif data1 < 0.7: 
      return "Medium" 
     else: 
      return "High" 

    def corr_type(data): 
     if data > 0: 
      return "(-)ve" 
     elif data == 0: 
      return "Null" 
     else: 
      return "(+)ve" 

    def finding_corr(df): 
     corr_list=[] 
     corr_level=[] 
     corr_types=[] 
     for country in df.index.values.astype('str'): 
      corr_value=emp_country(country,df) 
      corr_list.append(corr_value) 
      corr_level.append(determing_cor_level(corr_value)) 
      corr_types.append(corr_type(corr_value)) 
      df1= pd.DataFrame({'Correlation': corr_list,'Correlation Strength':corr_level, 'Correlation Type' : corr_types} , 
        index= df.index.values.astype('str')) 
     return df1 

    finding_corr(employment_rate).head() 
    finding_corr(employment_rate).groupby('Correlation Strength').count()['Correlation'] 

そして、私は次の出力を取得しています: 相関強度を高低ミディアム名:相関、DTYPE:

のint64

ここで、相関の強さの各タイプを持つ国のうち、どれくらいの国が相関性があるか(+)と相関があるかどうかを調べたいと思います。 (+)ve相関があり、どれくらいの相関があるかを示す。どうやってするか?

答えて

0

finding_corr(employment_rate).groupby([ '相関強度'、 '国'])。(カウント)[ '相関']

- このは、おそらくあなたは、なぜに手の込んだことができ

+0

を助けるかもしれませんこれはより良い機能ですか? – Degan

関連する問題