Python Pandas-名称开头相同的列总和

Python Pandas-名称开头相同的列总和,python,pandas,Python,Pandas,我想对名称开头相同的列求和 例如: 对于这个例子,我想创建一个新的列price_2012_2016,等于2013年到2016年的价格总和,不列出所有列 PS:在SAS中,我喜欢这样做:price_2012_2016=总和(2012-2016年大奖赛) 诚恳地, Laurent A.您可以简单地执行以下操作: df['price_2012_2016'] = df[[col for col in df.columns if col.startswith('price_')]].sum(axis=1)

我想对名称开头相同的列求和

例如:

对于这个例子,我想创建一个新的列price_2012_2016,等于2013年到2016年的价格总和,不列出所有列

PS:在SAS中,我喜欢这样做:price_2012_2016=总和(2012-2016年大奖赛)

诚恳地,
Laurent A.

您可以简单地执行以下操作:

df['price_2012_2016'] = df[[col for col in df.columns if col.startswith('price_')]].sum(axis=1)
这只取df数据框中以“price_”开头的列的总和,并将结果保存为price_2012_2016列。axis=1参数用于在列轴而不是行上计算总和,请参见下文:


因此,这不是编码服务。向我们展示您自己的尝试,我们将尝试并帮助您。我可以通过以下方式获得结果:
df['price_2013-2016']=df['price_2013']+df['price_2014']+df['price_2015']+df['price_2016']
df['price_'+str(I)for I)in range(2013,2017)]。sum()
?您是否在
df.filter(like='price').sum').sum()
?和sum(axis=1)这两种解决方案都有效,非常感谢
df['price_2012_2016'] = df[[col for col in df.columns if col.startswith('price_')]].sum(axis=1)