熊猫自定义函数返回列值

时间:2018-06-21 11:22:48

标签: python pandas dataframe

请帮助我编写熊猫自定义函数, 在返回特定行和col值作为自定义结果的混乱循环中,我想返回col方式而不使用切片没有用户定义的函数(例如numpy(np.mean)),并且我只需要将参数集“ df”传递给自定义函数。 我想以外行方式返回列['A','B']表示通过传递数据集“ df”从函数col_mean()中,而不使用熊猫切片和诸如mean / np.mean之类的预定义函数 下面是我的数据集,请给我代码逻辑以获取col平均值。

df = pd.DataFrame({'A': [10,20,30], 'B': [20, 30, 10]})
 def col_men(df):
     means=[0 for i in range(df.shape[1])]
     for k in range(df.shape[1]):
         col_values=[row[k] for row in df]
         means[k]=sum(col_values)/float(len(df))
     return means

1 个答案:

答案 0 :(得分:1)

使用range(df.shape[1])而不是使用enumerate(df.columns),因此您可以保留名称和位置:

df = pd.DataFrame({'A': [10,20,30], 'B': [20, 30, 10]})
def col_men(df):
    means=[0 for i in range(df.shape[1])]
    for index, k in enumerate(df.columns):
        col_values=[row for row in df[k]]
        means[index]=sum(col_values)/len(df)
    return means
col_men(df)