将系列连接到具有列名的数据框中

Posted

技术标签:

【中文标题】将系列连接到具有列名的数据框中【英文标题】:concat series onto dataframe with column name 【发布时间】:2016-12-27 03:19:34 【问题描述】:

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

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

这行得通,但是代表系列的数据框的新列被赋予了一个任意的数字列名,我希望这个列有一个特定的名称。

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

【问题讨论】:

【参考方案1】:

你可以试试Series.rename:

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

【讨论】:

【参考方案2】:

一个选项是在创建系列时简单地指定名称:

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

我只需要在创建系列时使用名称属性。

【讨论】:

【参考方案3】:

试试:

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

【讨论】:

以上是关于将系列连接到具有列名的数据框中的主要内容,如果未能解决你的问题,请参考以下文章

将不同文件中的多个excel表导入python并将它们连接到一个数据框中

如何将多个 csv 文件连接到 pandas 数据框中,文件名作为行名?

如何将多个列值连接到 Pandas 数据框中的单个列中

将列名连接到另一列中的值

将不同的表连接到 C# 组合框中的不同项目

从具有特定列和条件的数据框中选择行(不使用列名)