我想向Pandas数据框中的多行添加一个值

ix0qys7i  于 2023-05-12  发布在  其他
关注(0)|答案(3)|浏览(78)

假设我有一个 Dataframe 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
有没有一种不需要循环的方法?

niwlg2el

niwlg2el1#

你可以使用assign函数:

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

zpqajqem2#

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

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
b4lqfgs4

b4lqfgs43#

创建每列单值的df

这个例子通过创建一个新的pd.DataFramedf1来解决您的问题,该pd.DataFrame每列只有一个值,并将其连接起来。
这不是我在你的情况下会选择的解决方案(我想我会选择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

相关问题