在DataFrame中添加列名为"concat series"的系列数据。

68

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

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

这个方法可以实现,但是数据框表示系列的新列会被赋予一个任意的数字列名,我希望这一列有一个特定的名称。

是否有一种方法可以将一个序列添加到数据框中,即使该序列的长度超过了数据框的行数,并且在生成的数据框中具有指定的列名?

3个回答

95
您可以尝试使用 Series.rename 方法:
df = pd.concat((df, s.rename('col')), axis=1)

14

一种方法就是在创建系列时指定名称:

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

在创建系列时使用名称属性就足够了。


8

尝试:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接