如何将序列与Pandas连接到数据帧上?

2024-06-06 06:12:33 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一个DataFrame

students = pd.DataFrame([
    ['Alex'],
    ['Lauren'],
])

如何连接一个Series并创建一个新的DataFrame?例如,我想:

>>> marks = pd.Series([.8, .75])
>>> students.concat(marks).values
[['Alex', .8],
 ['Lauren', .75]]

我知道我可以用:

students['marks'] = marks

但那会变异。

我试过:

 >>> pd.concat([students, marks])
 …
 AttributeError: 'Series' object has no attribute '_data'

Tags: nodataframeobjectattributeseriespdattributeerrorhas
3条回答

在这种情况下,我通常会

students["marks"] = marks

但是pd.concat也能工作。

要保留原始数据帧,可以先复制数据帧,然后添加列:

students2 = students.copy(deep=True)
students2['marks'] = marks

您可以转换为数据帧,然后连接:

>>> pd.concat([students, pd.DataFrame(marks)], axis=1)
        0     0
0    Alex  0.80
1  Lauren  0.75

相关问题 更多 >