创建每列单个值的
好吧,假设我有一个数据框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.DataFrame
df1
并将其连接来解决您的问题。
不是我在你的情况下会选择的解决方案(我想我会选择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