Python 中的 Pandas 和 R 中的 Dplyr 都是灵活的数据整理工具。例如,在 R 中,使用 dplyr 可以执行以下操作:
custom_func <- function(col1, col2) length(col1) + length(col2)
ChickWeight %>%
group_by(Diet) %>%
summarise(m_weight = mean(weight),
var_time = var(Time),
covar = cov(weight, Time),
odd_stat = custom_func(weight, Time))
注意如何在一个声明中;
- 我可以在一行中聚合多个列。
- 我可以在一行中对这些多列应用不同的函数。
- 我可以使用考虑两列的函数。
- 我可以为其中任何一个添加自定义函数。
- 我可以为这些聚合声明新的列名称。
这种模式在熊猫身上也可能吗?请注意,我有兴趣在简短的声明中执行此操作(因此不会创建三个不同的数据帧然后加入它们)。
与熊猫groupby.apply() http://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.GroupBy.apply.html您可以在 groupby 聚合中运行多个函数。请注意您需要的统计功能scipy
安装。对于自定义函数,需要运行类似的聚合sum()
对于分组数据:
def customfct(x,y):
data = x / y
return data.mean()
def f(row):
row['m_weight'] = row['weight'].mean()
row['var_time'] = row['Time'].var()
row['cov'] = row['weight'].cov(row['Time'])
row['odd_stat'] = customfct(row['weight'], row['Time'])
return row
aggdf = df.groupby('Diet').apply(f)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)