如果要创建一个包含几列的新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)
我只是希望有一些清洁的东西。如果我坚持使用这两个选项,哪个是首选?
熊猫assign
从那以后就有方法了0.16.0
。您可以在像这样的数据帧上使用它
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句