【问题标题】:iterating though and adding columns pandas遍历并添加列 pandas
【发布时间】:2020-02-26 01:15:42
【问题描述】:

我正在处理一个练习数据集,并被告知要使用其他数据的总和创建一个新列,如下所示:

df["new column"] = df["column4"] + df["column5"] + df["column6"] + df["column7"] + etc....

我觉得这效率低下,因为它们甚至排成一列(第 4-9 列),我需要加快编码速度(即将到来的数据科学竞赛!)。

我怎样才能以更短/更有效的方式做到这一点!

我尝试过使用 df['Total'] = sum(df.columns[4:9]) 之类的变体,但效果不佳

免责声明:我是熊猫的新手

【问题讨论】:

    标签: python python-3.x pandas data-science


    【解决方案1】:

    假设这些列彼此相邻,使用列切片:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-16
      • 2021-04-14
      • 2019-03-28
      • 2018-10-28
      • 2019-06-28
      • 2016-12-08
      • 2018-10-20
      • 1970-01-01
      相关资源
      最近更新 更多