我有一个dataframe,它的列名以一组前缀列表开头。我想得到数据帧中按以相同前缀开头的列分组的值的总和。在
df = pd.DataFrame([[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4]],
columns=['abc', 'abd', 'wxy', 'wxz'])
prefixes = ['ab','wx']
df
abc abd wxy wxz
0 1 2 3 4
1 1 2 3 4
2 1 2 3 4
3 1 2 3 4
我想知道如何做的唯一方法是遍历前缀列表,从以该字符串开始的数据帧中获取列,然后求和结果。在
^{pr2}$我希望有一种更优雅的方法来实现它,也许是使用groupby(),但我想不出来。在
首先,有必要确定哪些列包含什么前缀。然后我们使用它来执行
groupby
。在快到了,现在
^{pr2}$另一个选项是使用
np.char.startswith
和argmax
来矢量化:在对列切片后使用
groupby
更新
^{pr2}$相关问题 更多 >
编程相关推荐