【发布时间】:2020-06-03 22:01:23
【问题描述】:
我有如下数据(我有 100 列,而不是 4 列)
raw_data = {
'age': [52, 52, 24, 24, 24],
'a': [4, 24, 31, 2, 3],
'b': [3, 2, 3, 4, 3],
'c': [2, 5, 8, 2, 1]}
df = pd.DataFrame(raw_data, columns = [ 'age', 'a', 'b', 'c'])
导致
age a b c
0 52 4 3 2
1 52 24 2 5
2 24 31 3 8
3 24 2 4 2
4 24 3 3 1
我想按年龄对数据进行分组,并找到一些特征的平均值和剩余特征的总和。我试过这个:
feats = ['a', 'b']
df.groupby('age').agg({feats:['mean'], 'c':['sum']})
由于我在真实数据中有 100 个特征,我无法将函数(我有多个函数要分配:RMS、Kurtosis、能量指数等)分配给单个特征(我可以,但它非常耗时且不聪明)是有什么办法可以做到这一点?
【问题讨论】:
-
那么,在这 100 个特征中,有没有你想要求和的模式以及你想要的平均值?您可以使用字典理解和一些过滤逻辑来创建聚合字典。
-
@ScottBoston 我有传感器功能和事件代码。我想找到传感器特征的平均值和事件代码的总和。但是,字典是个好主意。我会试试的。谢谢。
标签: python pandas aggregate pandas-groupby