我在Pandas数据框中有一列连续的数字。
A 1 2 3 4
我想将所有这些值更改为一个简单的字符串,例如“foo”,结果是
A foo foo foo foo
ttp71kqs1#
只需选择列并像平常一样分配:
In [194]: df['A'] = 'foo' df Out[194]: A 0 foo 1 foo 2 foo 3 foo
分配标量值会将所有行设置为相同的标量值
xqnpmsa82#
上面的好答案是一个警告,你也可以这样做:
df.insert(0, 'A', 'foo')
其中0是新列将插入的位置的索引。
vsaztqbk3#
您还可以通过使用:作为参数来寻址所有行,从而利用.loc属性的强大功能。
:
.loc
df.loc[:]['A'] = 'foo'
导致
A 0 foo 1 foo 2 foo 3 foo
093gszye4#
可以使用assign方法:
assign
df = df.assign(A='foo')
y1aodyip5#
要在不收到切片错误/警告的情况下执行此操作,您可以执行以下操作:
jm2pwxwz6#
您也可以尝试pd.Series.replace:
pd.Series.replace
df['A'] = df['A'].replace(df['A'], 'foo') print(df)
输出:
6条答案
按热度按时间ttp71kqs1#
只需选择列并像平常一样分配:
分配标量值会将所有行设置为相同的标量值
xqnpmsa82#
上面的好答案是一个警告,你也可以这样做:
其中0是新列将插入的位置的索引。
vsaztqbk3#
您还可以通过使用
:
作为参数来寻址所有行,从而利用.loc
属性的强大功能。导致
093gszye4#
可以使用
assign
方法:y1aodyip5#
要在不收到切片错误/警告的情况下执行此操作,您可以执行以下操作:
jm2pwxwz6#
您也可以尝试
pd.Series.replace
:输出: