如何用Pandas中的一个值填充列?

Der*_*unk 42 python pandas

我在Pandas DataFrame中有一个连续数字的列.

A
1
2
3
4
Run Code Online (Sandbox Code Playgroud)

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

A
foo
foo
foo
foo
Run Code Online (Sandbox Code Playgroud)

EdC*_*ica 64

只需选择列并按正常方式分配:

In [194]:
df['A'] = 'foo'
df

Out[194]:
     A
0  foo
1  foo
2  foo
3  foo
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,这不适用于分配元组 (2认同)
  • @IvoMerchiers询问了该问题,没有提及分配可迭代对象,因此无关紧要 (2认同)

mm_*_*mm_ 10

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

df.insert(0, 'A', 'foo')
Run Code Online (Sandbox Code Playgroud)

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


Mar*_*zas 8

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

df.loc[:]['A'] = 'foo'
Run Code Online (Sandbox Code Playgroud)

导致

     A
0  foo
1  foo
2  foo
3  foo
Run Code Online (Sandbox Code Playgroud)


Myk*_*tko 7

您可以使用以下方法assign

df = df.assign(A='foo')
Run Code Online (Sandbox Code Playgroud)

  • 谢谢 - 另请注意,为了节省其他人的时间,在这种情况下写为 A 而不是“A”。 (4认同)