【问题标题】:How do I fill a column with one value in Pandas?如何在 Pandas 中用一个值填充一列?
【发布时间】:2020-07-30 19:38:55
【问题描述】:

我在 Pandas DataFrame 中有一个包含连续数字的列。

A
1
2
3
4

我想将所有这些值更改为一个简单的字符串,比如“foo”,结果是

A
foo
foo
foo
foo

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    只需选择列并像往常一样分配:

    In [194]:
    df['A'] = 'foo'
    df
    
    Out[194]:
         A
    0  foo
    1  foo
    2  foo
    3  foo
    

    分配一个标量值会将所有行设置为相同的标量值

    【讨论】:

      【解决方案2】:

      上面的好答案会引发警告。你也可以这样做:

      df.insert(0, 'A', 'foo')
      

      其中 0 是插入新列的索引。

      【讨论】:

        【解决方案3】:

        可以使用assign的方法:

        df = df.assign(A='foo')
        

        【讨论】:

        • 谢谢 - 还要注意节省其他人的时间,在这种情况下写成 A 而不是 'A'。
        【解决方案4】:

        你也可以试试pd.Series.replace:

        df['A'] = df['A'].replace(df['A'], 'foo')
        print(df)
        

        输出:

             A
        0  foo
        1  foo
        2  foo
        3  foo
        

        【讨论】:

          【解决方案5】:

          您还可以利用.loc 属性的强大功能,使用: 作为对行进行寻址的参数来寻址所有行。假设您的 DataFrame 名为 df

          In [1]:
          df.loc[:,'A'] = 'foo'
          df
          
          Out[2]:
               A
          0  foo
          1  foo
          2  foo
          3  foo
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-12-26
            • 1970-01-01
            • 1970-01-01
            • 2021-04-20
            相关资源
            最近更新 更多