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

concat series onto dataframe with column name

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

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

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

当序列比数据帧的行长,并且在生成的数据帧中有指定的列名时,有没有办法将序列添加到数据帧?

你可以试试Series.rename:

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

尝试:

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

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

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

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