使用列名称连接到数据框上的系列

时间:2016-08-19 21:27:37

标签: pandas dataframe rename series

我想将一个系列(s)添加到Pandas DataFrame(df)作为新列。该系列的值多于数据框中的行数,因此我沿轴1使用concat方法。

df = pd.concat((df, s), axis=1)

这样可行,但代表该系列的数据框的新列被赋予一个任意的数字列名称,我希望此列具有特定的名称。

当系列比数据帧的行长,并且在结果数据框中使用指定的列名称时,有没有办法将数组添加到数据框?

3 个答案:

答案 0 :(得分:29)

您可以尝试Series.rename

df = pd.concat((df, s.rename('col')), axis=1)

答案 1 :(得分:8)

当然,经过几分钟的尝试后,我在发布问题后立即自行找出了答案。答案只是在创建系列时指定名称:

example_scores = pd.Series([1,2,3,4], index=['t1', 't2', 't3', 't4'], name='example_scores')

创建系列时使用name属性是我所需要的。

答案 2 :(得分:1)

尝试:

df = pd.concat((df, s.rename('CoolColumnName')), axis=1)