dataframe修改列名索引名

本文详细介绍使用Python的Pandas库进行DataFrame重命名的方法,包括使用DataFrame.index和DataFrame.columns属性直接修改索引和列名,以及更灵活强大的rename方法。通过实例演示如何应用这些方法,实现DataFrame索引和列名的个性化定制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般常用的有两个方法:
1、使用DataFrame.index = [newName],DataFrame.columns = [newName],这两种方法可以轻松实现。
2、使用rename方法(推荐):
DataFrame.rename(mapper = None,index = None,columns = None,axis = None,copy = True,inplace = False,level = None )
参数介绍:
mapper,index,columns:可以任选其一使用,可以是将index和columns结合使用。index和column直接传入mapper或者字典的形式。
axis:int或str,与mapper配合使用。可以是轴名称(‘index’,‘columns’)或数字(0,1)。默认为’index’。
copy:boolean,默认为True,是否复制基础数据。
inplace:布尔值,默认为False,是否返回新的DataFrame。如果为True,则忽略复制值。

import numpy as np
import pandas as pd
from pandas import *
from numpy import *

data_1=DataFrame(np.arange(9).reshape(3,3),index=list("ABC"),columns=list("XYZ"))
print(data_1)
data_1.index=list("abc")
data_1.columns=list("xyz")
print(data_1)
# =============================================================================
#    X  Y  Z
# A  0  1  2
# B  3  4  5
# C  6  7  8
#    x  y  z
# a  0  1  2
# b  3  4  5
# c  6  7  8
# =============================================================================
data_2=DataFrame(np.arange(10).reshape(2,5),index=list("AB"),columns=list("vwxyz"))
print(data_2)
data_3=data_2.rename(index=str.lower,columns=str.upper)
print(data_3)
data_4=data_3.rename(index={"a":"aaaa","b":"BBBB"},columns={"V":"VVVVV"})
print(data_4)
# =============================================================================
#    X  Y  Z
# A  0  1  2
# B  3  4  5
# C  6  7  8
#    x  y  z
# a  0  1  2
# b  3  4  5
# c  6  7  8
#    v  w  x  y  z
# A  0  1  2  3  4
# B  5  6  7  8  9
#    V  W  X  Y  Z
# a  0  1  2  3  4
# b  5  6  7  8  9
#       VVVVV  W  X  Y  Z
# aaaa      0  1  2  3  4
# BBBB      5  6  7  8  9
# =============================================================================


参考:https://blog.youkuaiyun.com/missyougoon/article/details/83780845 
 

### 关于Pandas DataFrame列名索引的方法 在Pandas中,DataFrame列名索引操作可以通过多种方式实现。以下是几种常见的方法和示例代码: #### 1. 获取列名 通过 `df.columns` 属性可以获取DataFrame的所有列名[^1]。 ```python import pandas as pd import numpy as np df = pd.DataFrame([[1, 2, 4, np.nan, 7, 9], ['a', 'b', np.nan, np.nan, 'd', 'e'], [np.nan, 0, 4, np.nan, np.nan, 5], [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]]) print(df.columns) # 显示所有列名 ``` #### 2. 设置列名 如果DataFrame没有列名,可以通过 `df.columns` 属性直接设置列名。 ```python df.columns = ['col1', 'col2', 'col3', 'col4', 'col5', 'col6'] print(df) ``` #### 3. 根据列名选择单列 使用方括号 `[]` 和列名可以直接选择某一列数据。 ```python print(df['col3']) # 根据列名选择第三列 ``` #### 4. 根据列名选择多列 通过传递一个包含多个列名的列表,可以选择多列数据[^4]。 ```python print(df[['col1', 'col3', 'col5']]) # 同时选择第一、三、五列 ``` #### 5. 使用 `.loc` 进行标签索引 `.loc` 方法允许基于列名或行进行标签索引[^3]。 ```python print(df.loc[:, 'col3']) # 选择第三列 print(df.loc[:, ['col1', 'col3', 'col5']]) # 选择多列 ``` #### 6. 设置某列为索引 通过 `set_index()` 方法可以将某一列设置为索引[^2]。 ```python df1 = df.set_index('col1', drop=True) # 将'col1'设为索引,且不保留该列 print(df1) ``` #### 7. 修改列名 可以通过 `rename()` 方法修改列名。 ```python df.rename(columns={'col1': 'new_col1', 'col3': 'new_col3'}, inplace=True) print(df) ``` ### 注意事项 - 列索引从0开始,因此选择第三列时,索引应为2[^1]。 - 如果需要根据数值索引选择列,可以使用 `.iloc` 方法。 ```python print(df.iloc[:, 2]) # 根据数值索引选择第三列 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值