[英]write a new function that takes in a dataframe df as an argument and returns a pandas series summarizing that dataframe
在下面編寫一個名為summary_stats
的新 function,它接受 dataframe df
作為參數並返回一個 pandas 系列總結 dataframe。pandas 系列應該具有以下索引和值對:
mean_x
:數據幀的x
列的平均值, df['x'].mean()
mean_y
:數據幀的y
列的平均值
var_x
:數據框的x
列的方差
var_y
:數據幀的y
列的方差
corr_xy
:數據幀的x
和y
列的相關性(提示:您可以在 x 上調用 pandas corr function 並將 y 作為參數傳入)。
我現在的代碼是:
ans = sns.load_dataset("anscombe")
def summary_stats (df):
mean_x = df['x'].mean()
mean_y = df['y'].mean()
var_x = df['x'].var()
Vay_y = df['y'].var()
corr_xy = df['x'].corr(df['y'])
我對如何定義新的 function 感到困惑
你的 function 應該已經完成了,你只需要添加一個return
語句。 如果您想要 pandas 系列,那么您還需要指定它:
df = sns.load_dataset("anscombe")
def get_stats(df, col1, col2):
return pd.Series([df[col1].mean(), df[col2].mean(), df[col1].var(), df[col2].var()])
Out:
0 9.000000
1 7.500682
2 10.232558
3 3.837388
dtype: float64
相反,如果您希望它作為帶有列名稱的 pandas DataFrame:
def get_stats(df, col1, col2):
return pd.DataFrame({'mean':[df[col1].mean(),df[col2].mean()],
'var':[df[col1].var(),df[col2].var()]},
index=[col1,col2])
print(get_stats(df, 'x','y'))
Out:
mean var
x 9.000000 10.232558
y 7.500682 3.837388
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.