如何将系列作为新列添加到Pandas DataFrame并返回一个新的DataFrame(即不到位)。
这有效,但已到位:
A["name"] = s
答案 0 :(得分:4)
不确定是否有更优雅的方式,但这对我有用:
df = pd.concat( [A, pd.DataFrame(s)], axis=1 )
答案 1 :(得分:2)
如果A
是您的数据框,s
是系列文件。
df2 = A.copy()
df2['name'] = s
答案 2 :(得分:1)
从0.16.0
开始,您可以使用assign
- 返回一个新对象(副本),除了新原始列之外还包含所有原始列。
In [483]: A.assign(name=s)
Out[483]:
0 1 name
0 0.876880 0.915174 0
1 0.644664 0.305387 1
2 0.930093 0.562453 2
3 0.807626 0.498871 3
详细
In [484]: A
Out[484]:
0 1
0 0.876880 0.915174
1 0.644664 0.305387
2 0.930093 0.562453
3 0.807626 0.498871
In [485]: s
Out[485]:
0 0
1 1
2 2
3 3
dtype: int64