一、参考资料
[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
)