一、参考资料
[1]. Pandas获取列名
[2]. Python dataframe更换列名称
二、Pandas获取列名并修改
1. 获取列名
Python中获取列名的主要包括以下四种方法:
1.1 通过df.columns获取列名,并通过df.columns.tolist()或者list(df.columns)转换为列表
dataframe = pd.DataFrame(np.random.rand(6,4),columns=list('ABCD'))
print(dataframe)
# 1. 获取dataframe的列名: dataframe.columns
ColNames = dataframe.columns
print(ColNames,type(ColNames)) # 注意ColNames的类型是object
ColNames_List = dataframe.columns.tolist()
print('------------------------------------------------------')
print(ColNames_List,type(ColNames_List))
1.2. 通过df.columns.values获取列名,并通过df.columns.tolist()或者list(df.columns)转换为列表
# 1.2 获取dataframe的列名: dataframe.columns.values
ColNames = dataframe.columns.values
print(ColNames,type(ColNames)) # 注意ColNames的类型是numpy.ndarray
ColNames_List = dataframe.columns.values.tolist()
print('------------------------------------------------------')
print(ColNames_List,type(ColNames_List))
1.3 通过list(df)获取列名,此时获取的结果即为列表
# 3. 获取dataframe的列名: list(dataframe)
ColNames = list(dataframe)
print(ColNames,type(ColNames)) #结果以列表形式存储
1.4 通过[column for column in df]获取列名,此时获取的结果即为列表
# 4. 获取dataframe的列名: [column for column in df]
ColNames = [column for column in dataframe]
print(ColNames,type(ColNames)) #结果以列表形式存储
2. 修改列名
2.1 df.columns = [新列名]
# 1. 修改列名:df.columns = [新列名],该方法必须将所有列名全部修改,否则会报错
print(dataframe)
dataframe.columns = [list('EFGH')]
print('-------------------------------------------')
print(dataframe)
2.2 df.rename(columns={oldname1:newname1,oldname2:newname2},inplace=True)
# 2. 修改列名:dataframe.rename(columns={oldname1:newname1,oldname2:newname2}}, inplace = True)
dataframe.rename(columns={'E':'e','F':'f'},inplace = True) # inplace = True,表示在原始dataframe上修改列名
print(dataframe)