我当时正在处理一个练习数据集,并被告知要用这样的总数加一个新列:
df["new column"] = df["column4"] + df["column5"] + df["column6"] + df["column7"] + etc....
由于它们甚至排成一列(第4-9列),因此我觉得效率很低,我需要加快编码速度(数据科学竞赛即将来临!)。
我该如何以更短/更有效的方式做到这一点!
我尝试使用df['Total'] = sum(df.columns[4:9])
之类的变体,但效果不佳
免责声明:我是熊猫新手
答案 0 :(得分:3)
假设这些列彼此相邻,请使用列切片:
df['new column'] = df.loc[:, 'column4':'column9'].sum(axis=1)
axis=1
表示您是各列之和,因此您要计算每行的总数。
如果将它们分开,则可以通过列表获取它们的总和:
cols = ['column4', 'column5', 'column6', 'column7', 'column8', 'column9']
df['new column'] = df[cols].sum(axis=1)