我想向熊猫数据框中的多行添加单个值



好吧,假设我有一个数据框A

一个:

col1 col2
1    2
3    4

我不打算再向它添加两列 col3 和 col4,并希望像这样填充它

col1 col2 col3 col4
1    2    5    6
3    4    5    6

无论行数如何,col3 的所有值都需要为 5,col4 的所有值都需要为 6

有没有办法在没有循环的情况下做到这一点?

您可以简单地使用分配函数:

df = df.assign(
col3 = 5,
col4 = 6
)

您可以为所有行添加具有常量值的多个列,如下所示:

In [268]: df
Out[268]: 
col1  col2
0     1     2
1     3     4
In [269]: df[['col3', 'col4']] = [5,6]
In [270]: df
Out[270]: 
col1  col2  col3  col4
0     1     2     5     6
1     3     4     5     6

创建每列单个值的df

此示例通过创建一个每列具有单个值的新pd.DataFramedf1并将其连接来解决您的问题。

不是我在你的情况下会选择的解决方案(我想我会选择Mayank Porwal的答案),但我有创建这样一个df1的用例并找到了这个答案。

>>> df0 = pd.DataFrame([[1, 2], [3, 4]], columns=["col1", "col2"])
>>> df0
col1  col2
0     1     2
1     3     4
>>> df1 = pd.DataFrame({"col3": 5, "col4": 6}, index=[0, 1])
>>> df1
col3  col4
0     5     6
1     5     6
>>> pd.concat([df0, df1], axis=1)
col1  col2  col3  col4
0     1     2     5     6
1     3     4     5     6

最新更新