【问题标题】:Add column to dataframe with constant value将列添加到具有恒定值的数据框
【发布时间】:2015-06-13 13:17:55
【问题描述】:

我有一个现有的数据框,我需要添加一个额外的列,其中每一行都包含相同的值。

现有的df:

Date, Open, High, Low, Close
01-01-2015, 565, 600, 400, 450

新的df:

Name, Date, Open, High, Low, Close
abc, 01-01-2015, 565, 600, 400, 450

我知道如何附加现有的系列/数据框列。但这是一种不同的情况,因为我只需要添加“名称”列并将每一行设置为相同的值,在本例中为“abc”。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    df['Name']='abc' 将添加新列并将所有行设置为该值:

    In [79]:
    
    df
    Out[79]:
             Date, Open, High,  Low,  Close
    0  01-01-2015,  565,  600,  400,    450
    In [80]:
    
    df['Name'] = 'abc'
    df
    Out[80]:
             Date, Open, High,  Low,  Close Name
    0  01-01-2015,  565,  600,  400,    450  abc
    

    【讨论】:

      【解决方案2】:

      您可以使用insert 指定新列的位置。在这种情况下,我使用0 将新列放在左侧。

      df.insert(0, 'Name', 'abc')
      
        Name        Date  Open  High  Low  Close
      0  abc  01-01-2015   565   600  400    450
      

      【讨论】:

        【解决方案3】:

        总结其他人的建议,并添加第三种方式

        你可以:

        参数 loc ( 0

        'loc' 为您提供插入后列将位于的索引。例如,上面的代码将列 Name 插入为第 0 列,即它将插入 before 第一列,成为新的第一列。 (索引从 0 开始)。

        所有这些方法都允许您从系列中添加新列(只需将上面的“abc”默认参数替换为系列即可)。

        【讨论】:

          【解决方案4】:

          单班轮作品

          df['Name'] = 'abc'
          

          创建一个Name 列并将所有行设置为abc

          【讨论】:

            【解决方案5】:

            One Line 为我完成了这项工作。

            df['New Column'] = 'Constant Value'
            df['New Column'] = 123
            

            【讨论】:

              【解决方案6】:

              您只需执行以下操作:

              df['New Col'] = pd.Series(["abc" for x in range(len(df.index))])
              

              【讨论】:

              • 谢谢,这对于避免该死的链式索引警告非常有用。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-03-03
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多