Python 尝试求和以更快/更容易的方式组合大量列。。。感谢您的帮助

Python 尝试求和以更快/更容易的方式组合大量列。。。感谢您的帮助,python,pandas,Python,Pandas,我试着将列的总数分成30组(每月)。每栏为一天。几乎有2000列 每行是一个单独的产品,大约有30000个 下面是我用jupyter对它们进行总结的步骤 我的问题是,有没有一种更简单/更快的方法可以做到这一点,而不必再做60次以上我在下面做的事情 Month1 = (df_sales["d_1"] + df_sales["d_2"] + df_sales["d_3"] + df_sales["d_4"] + df_sales["d_5"] + df_sales["d_6"] + df_sa

我试着将列的总数分成30组(每月)。每栏为一天。几乎有2000列

每行是一个单独的产品,大约有30000个

下面是我用jupyter对它们进行总结的步骤

我的问题是,有没有一种更简单/更快的方法可以做到这一点,而不必再做60次以上我在下面做的事情

Month1 = (df_sales["d_1"] + df_sales["d_2"] + df_sales["d_3"] + df_sales["d_4"]  + df_sales["d_5"]  + df_sales["d_6"]  + df_sales["d_7"]  + df_sales["d_8"]  + df_sales["d_9"]  + df_sales["d_10"] 
    + df_sales["d_11"]  + df_sales["d_12"]  + df_sales["d_13"]  + df_sales["d_14"]  + df_sales["d_15"]  + df_sales["d_16"]  + df_sales["d_17"]  + df_sales["d_18"]  + df_sales["d_19"]  + df_sales["d_20"] 
    + df_sales["d_21"]  + df_sales["d_22"]  + df_sales["d_23"]  + df_sales["d_24"]  + df_sales["d_25"]  + df_sales["d_26"]  + df_sales["d_27"]  + df_sales["d_28"]  + df_sales["d_29"]  + df_sales["d_30"])
如果表中每个月有30天(列),并且从第一列开始,则可以执行以下操作:

all_months = pd.concat((df_sales.iloc[:, i:i+30].sum(axis=1) 
                            for i in range(0, df_sales.shape[1], 30)), 
                        axis=1)
获取所有月份总和的数据帧

替换

range(0, df_sales.shape[1], 30) 

如果您的天数从列
n
开始(请注意,第一列的编号为
0

如果表中每个月有30天(列),并且从第一列开始,则可以执行以下操作:

all_months = pd.concat((df_sales.iloc[:, i:i+30].sum(axis=1) 
                            for i in range(0, df_sales.shape[1], 30)), 
                        axis=1)
获取所有月份总和的数据帧

替换

range(0, df_sales.shape[1], 30) 


如果您的日期从列
n
(请注意,第一列的编号为
0
)。

听起来您的设计有问题。您应该使用
date
列将它们分开。然后你可以按日期的月份分组。听起来你的设计有问题。您应该使用
date
列将它们分开。然后你可以按日期的月份分组。谢谢MarianD!我正试图得到像这样的东西,而你却让我看到了我所缺少的:)谢谢MarianD!我试图得到这样的东西,而你却向我展示了我所缺少的:)