我想将一个系列(s
)添加到Pandas DataFrame(df
)作为新列。该系列的值多于数据框中的行数,因此我沿轴1使用concat
方法。
df = pd.concat((df, s), axis=1)
这样可行,但代表该系列的数据框的新列被赋予一个任意的数字列名称,我希望此列具有特定的名称。
当系列比数据帧的行长,并且在结果数据框中使用指定的列名称时,有没有办法将数组添加到数据框?
答案 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)