+-
python – 是否可以一次向pandas DataFrame添加几个列?
如果我想创建一个包含多个列的新DataFrame,我可以一次添加所有列 – 例如,如下所示:

data = {'col_1': [0, 1, 2, 3],
        'col_2': [4, 5, 6, 7]}
df = pd.DataFrame(data)

但是现在假设我想在这个DataFrame中添加一组额外的列.有没有办法同时添加它们,如同

additional_data = {'col_3': [8, 9, 10, 11],
                   'col_4': [12, 13, 14, 15]}
#Below is a made-up function of the kind I desire.
df.add_data(additional_data)

我知道我可以这样做:

for key, value in additional_data.iteritems():
    df[key] = value

或这个:

df2 = pd.DataFrame(additional_data, index=df.index)
df = pd.merge(df, df2, on=df.index)

我只是希望有更清洁的东西.如果我坚持这两个选项,这是首选?

最佳答案
自0.16.0以来,熊猫拥有 assign方法.你可以在数据帧上使用它

In [1506]: df1.assign(**df2)
Out[1506]:
   col_1  col_2  col_3  col_4
0      0      4      8     12
1      1      5      9     13
2      2      6     10     14
3      3      7     11     15

或者,你可以直接使用字典

In [1507]: df1.assign(**additional_data)
Out[1507]:
   col_1  col_2  col_3  col_4
0      0      4      8     12
1      1      5      9     13
2      2      6     10     14
3      3      7     11     15
点击查看更多相关文章

转载注明原文:python – 是否可以一次向pandas DataFrame添加几个列? - 乐贴网