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']
而且我得到以下的輸出: 相關強度 高99 低29 中50 名稱:相關性,D型:Int64的
但是現在我想進一步分類並找出具有相關強度的每個類型的多少個國家有(+)ve和( - )ve的相關性。也就是說有多少國家有高度相關(+)正相關和有多少( - )正相關。怎麼做?
也許你可以在闡述爲什麼這是一個更好的功能? – Degan