如果我有DataFrame
:
students = pd.DataFrame([
['Alex'],
['Lauren'],
])
如何连接Series
并创建新的DataFrame
?例如,我想:
>>> marks = pd.Series([.8, .75])
>>> students.concat(marks).values
[['Alex', .8],
['Lauren', .75]]
我知道我可以使用:
students['marks'] = marks
但这会改变students
。
我试过了:
>>> pd.concat([students, marks])
…
AttributeError: 'Series' object has no attribute '_data'
答案 0 :(得分:8)
您可以转换为DataFrame并在之后连接:
>>> pd.concat([students, pd.DataFrame(marks)], axis=1)
0 0
0 Alex 0.80
1 Lauren 0.75
答案 1 :(得分:0)
要保留原始数据框,您可以先复制数据框,然后添加列:
students2 = students.copy(deep=True)
students2['marks'] = marks
答案 2 :(得分:0)
在这种情况下,我通常会这样做
students["marks"] = marks
但pd.concat
也适用。