如何使用Pandas将系列连接到DataFrame?

时间:2013-12-11 06:43:21

标签: python pandas

如果我有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'

3 个答案:

答案 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也适用。