2024-04-24 23:24:38 发布
网友
我有一个dataframe,我想根据“VALUE”列中的公共条目,在20个不同的列中汇总值
以下是我对一个专栏的操作方法:
df.groupby('VALUE').aggregate({'COUNT':numpy.sum},as_index=False)
有没有更好的方法可以扩展到我没有显式写出它们的名字的20列?一、 e,我想要一种只传递一个列名列表的方法。在
请看下面芭芭拉的回答,以获得一个可以用来说明这个问题的例子。在
您可以使用pandas组上的sub-notation选择要与列名列表相加的列。这就是你要找的吗?在
import numpy as np import pandas as pd data = { "dim1": [np.random.choice(['foo', 'bar']) for _ in range(10)], "measure1": np.random.random_integers(0, 100, 10), "measure2": np.random.random_integers(0, 100, 10) } df = pd.DataFrame(data) df Out[1]: dim1 measure1 measure2 0 bar 9 86 1 bar 24 64 2 bar 47 46 3 foo 60 98 4 bar 94 53 5 foo 95 89 6 foo 98 9 7 bar 4 95 8 foo 63 66 9 foo 40 47 df.groupby(['dim1'])['measure1', 'measure2'].sum() Out[2]: measure1 measure2 dim1 bar 178 344 foo 356 309
更新2015-01-02延迟回复以下评论,但迟做总比不回复好
如果不知道有多少列,但知道列命名约定,请构造列列表以动态聚合。有一种方法:
您可以使用pandas组上的sub-notation选择要与列名列表相加的列。这就是你要找的吗?在
更新2015-01-02延迟回复以下评论,但迟做总比不回复好
如果不知道有多少列,但知道列命名约定,请构造列列表以动态聚合。有一种方法:
^{pr2}$相关问题 更多 >
编程相关推荐