Python 如何命名熊猫系列栏目标题?

Python 如何命名熊猫系列栏目标题?,python,pandas,Python,Pandas,我正试图为一个pd.Series设置标题,这样当将它分配给pd.Dataframes时,它将与其标题一起使用 我搜索了一下,什么也没找到。我所能做的就是命名索引,而不是数据列 这是我的 import pandas as pd s = pd.Series([1, 2, 3, 4], index=[5, 6, 7, 8]) s.name = "a" s.rename("b", inplace=True) s.index.name = "c&qu

我正试图为一个pd.Series设置标题,这样当将它分配给pd.Dataframes时,它将与其标题一起使用

我搜索了一下,什么也没找到。我所能做的就是命名索引,而不是数据列

这是我的

import pandas as pd


s = pd.Series([1, 2, 3, 4], index=[5, 6, 7, 8])
s.name = "a"
s.rename("b", inplace=True)

s.index.name = "c"
print("____")
print(s)
输出:


我希望命名1、2、3、4列。

您做得很好,但可以直接将其传递到构造函数中

s = pd.Series([1, 2, 3, 4], index=[5, 6, 7, 8], name="my_amazing_name")
print(s)

# ---------------------------------------------
5    1
6    2
7    3
8    4
Name: my_amazing_name, dtype: int64
如果您使用它们来构建数据帧或附加到它,它将保留其名称

df = pd.DataFrame([
    pd.Series([1, 2, 3, 4], index=[5, 6, 7, 8], name="my_amazing_name_1"),
    pd.Series([1, 2, 3, 4], index=[5, 6, 7, 8], name="my_amazing_name_2"),
    pd.Series([1, 2, 3, 4], index=[5, 6, 7, 8], name="my_amazing_name_3"),
]).T
print(df)

# ---------------------------------------------
   my_amazing_name_1  my_amazing_name_2  my_amazing_name_3
5                  1                  1                  1
6                  2                  2                  2
7                  3                  3                  3
8                  4                  4                  4

我不认为你可以像使用索引那样在值上加上名字

你所做的就这么多了

重命名索引 s、 index.name='index' 重命名值 s=s。重命名“值” s 指数 5 1 6 2 7 3 8 4 名称:值,数据类型:int64 如果要将其重命名为列,我相信必须将s转换为pandas.DataFrame:

重命名索引 s、 index.name='index' 重命名值 s=s。重命名“值” 转换为数据帧 df=s.to_帧 价值观 指数 5 1 6 2 7 3 8 4
s、 name='something'。如果要将其放置在数据上,则需要将序列转换为数据帧s.to_framename='something'或s.reset_indexname='something'。如果要列标题,则需要数据帧而不是序列。我真的认为您的列名太棒了。@piRSquared我想确保OP看到它们:D
df = pd.DataFrame([
    pd.Series([1, 2, 3, 4], index=[5, 6, 7, 8], name="my_amazing_name_1"),
    pd.Series([1, 2, 3, 4], index=[5, 6, 7, 8], name="my_amazing_name_2"),
    pd.Series([1, 2, 3, 4], index=[5, 6, 7, 8], name="my_amazing_name_3"),
]).T
print(df)

# ---------------------------------------------
   my_amazing_name_1  my_amazing_name_2  my_amazing_name_3
5                  1                  1                  1
6                  2                  2                  2
7                  3                  3                  3
8                  4                  4                  4