[黑马程序员Pandas教程]——索引与列名的操作

目录:

  1. 学习目标
  2. 数据准备
  3. 获取索引及列名
    1. index查看索引
    2. columns查看列名
  4. 索引及列名的修改方法
    1. 指定某列为索引
      1. 使用set_index函数
      2. 读取数据时指定索引列
    2. reset_index重置索引
    3. 赋值修改索引及列名
      1. 赋值修改索引
      2. 赋值修改列名
    4. rename函数修改索引和列名
      1. rename函数修改索引
      2. rename函数修改列名
  5. 总结
  6. 项目地址

1.学习目标

  • 知道如何查看索引及列名

  • 知道如何修改索引及列名

2. 数据准备

  • 继续使用全球GDP数据来学习本章节的API,导包并读取数据
bash 复制代码
import pandas as pd

# 读取数据
df = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk')

# 返回前5条数据,查看数据集
print(df.head())

# 提取中国的所有年份的GDP数据
china_gdp = df[df.country == '中国']
print(china_gdp)

# 返回的是DataFrame对象
print(china_gdp.head())

# 取出df中的GDP列,返回Series对象
china_gdp_s = china_gdp.GDP
print(china_gdp_s.head())

3.获取索引及列名

index查看索引
bash 复制代码
import pandas as pd

# 读取数据
df = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk')

# 提取中国的所有年份的GDP数据
china_gdp = df[df.country == '中国']

# 取出df中的GDP列,返回Series对象
china_gdp_s = china_gdp.GDP

# 查看df的索引
print(china_gdp.index)

# 查看s对象的索引
print(china_gdp_s.index)

# 使用下标获取具体的某一个索引值
print(china_gdp.index[0])
print(china_gdp_s.index[1])
columns查看列名
bash 复制代码
import pandas as pd

# 读取数据
df = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk')

print(df.columns)

4.索引及列名的修改方法

指定某列为索引
使用set_index函数
bash 复制代码
import pandas as pd

# 读取数据
df = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk')

print(df.head())

# 指定year列作为索引
df3 = df.set_index('year')
print(df3.head())
读取数据时指定索引列
bash 复制代码
import pandas as pd

# 使用index_col参数指定索引列
df4 = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk', index_col=['year'])
print(df4.head())
reset_index重置索引
  • Dataframe对象和Series对象使用reset_index函数一样,都返回使用默认自增索引的df
bash 复制代码
import pandas as pd

# 使用index_col参数指定索引列
df4 = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk', index_col=['year'])
print(df4)

print(df4.reset_index())

# 读取数据
df = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk')

# 提取中国的所有年份的GDP数据
china_gdp = df[df.country == '中国']

# 取出df中的GDP列,返回Series对象
china_gdp_s = china_gdp.GDP

print(china_gdp_s.head())

print(china_gdp_s.reset_index().head())
  • reset_index重置索引,使用drop=True参数将不保留原索引
bash 复制代码
import pandas as pd

# 使用index_col参数指定索引列
df4 = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk', index_col=['year'])

# 读取数据
df = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk')

# 提取中国的所有年份的GDP数据
china_gdp = df[df.country == '中国']

# 取出df中的GDP列,返回Series对象
china_gdp_s = china_gdp.GDP

print(df4)
print(df4.reset_index(drop=True))
print(china_gdp_s.reset_index(drop=True).head())
赋值修改索引及列名
赋值修改索引

`df.index`不光可以查看索引,还可以修改索引

bash 复制代码
import pandas as pd

# 读取数据
df = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk')

# 提取中国的所有年份的GDP数据
china_gdp = df[df.country == '中国']

# 取出df中的GDP列,返回Series对象
china_gdp_s = china_gdp.GDP

# 数据准备
df5 = china_gdp_s.reset_index().head()
print(df5)

# 赋值修改索引
df5.index = ['a', 'b', 'c', 'd', 'e']
print(df5)
赋值修改列名

`df.columns` 不光可以查看列名,还可以修改列名

bash 复制代码
import pandas as pd

# 读取数据
df = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk')

# 提取中国的所有年份的GDP数据
china_gdp = df[df.country == '中国']

# 取出df中的GDP列,返回Series对象
china_gdp_s = china_gdp.GDP

# 数据准备
df5 = china_gdp_s.reset_index().head()

df5.columns = ['修改',  '列名']
print(df5)
rename函数修改索引和列名
rename函数修改索引
  • 使用参数index={'原索引名': '新索引名', ...}修改想要修改的部分或全部索引
bash 复制代码
import pandas as pd

# 读取数据
df = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk')

# 提取中国的所有年份的GDP数据
china_gdp = df[df.country == '中国']

# 取出df中的GDP列,返回Series对象
china_gdp_s = china_gdp.GDP

# 数据准备
df5 = china_gdp_s.reset_index().head()
print(df5)

# 需要给一个新的变量名,或者添加参数 inplace=True,就在原df进行了修改
df5.rename(index={0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E'}, inplace=True)

print(df5)
rename函数修改列名
  • 使用参数columns={'原索引名': '新索引名', ...}修改想要修改的部分或全部索引
bash 复制代码
import pandas as pd

# 读取数据
df = pd.read_csv('../datas/data_set/1960-2019全球GDP数据.csv', encoding='gbk')

# 提取中国的所有年份的GDP数据
china_gdp = df[df.country == '中国']

# 取出df中的GDP列,返回Series对象
china_gdp_s = china_gdp.GDP

# 数据准备
df5 = china_gdp_s.reset_index().head()

df5.columns = ['修改', '列名']
print(df5)

# 需要给一个新的变量名,或者添加参数 inplace=True,就在原df进行了修改
df5.rename(columns={'修改': 'x', '列名': 'y'}, inplace=True)
print(df5)

5.总结

  • 查看或修改索引 `<s / df>.index`
  • 查看或修改列名 `df.columns=[col_name1, col_name2, ...]`
  • 读取数据时指定某列为索引 `pd.read_csv('csv_path', index_col=['列名'])`
  • 设置某列为df的索引 `df.set_index('列名')`
  • 重置df的索引为默认自增索引 `df.reset_index()`
  • 指定修改部分索引值或列名
bash 复制代码
df.rename(
	index={
        '原索引名1': '新索引名1',
        '原索引名2': '新索引名2',
        ...
    },
    columns={
        '原列名a': '新列名a',
        '原列名b': '新列名b',
        ...
    }
)

6.项目地址:

Python: 66666666666666 - Gitee.com

相关推荐
Lucky高18 小时前
Pandas库实践3_索引
开发语言·python·pandas
墨上烟雨21 小时前
Pandas读写CSV、Excel、JSON文件
pandas
Serendipity_Carl2 天前
京东手机销售数据分析: 从数据清洗到可视化仪表盘
python·数据分析·pandas·pyecharts
一位代码3 天前
pandas | 查看数据特征的常见属性及方法
pandas
墨上烟雨3 天前
Pandas 数据结构 - DataFrame
pandas
倔强的小石头_4 天前
Python 从入门到实战(十):Pandas 数据处理(高效搞定表格数据的 “瑞士军刀”)
人工智能·python·pandas
万粉变现经纪人4 天前
Python系列Bug修复PyCharm控制台pip install报错:如何解决 pip install 网络报错 企业网关拦截 User-Agent 问题
网络·python·pycharm·beautifulsoup·bug·pandas·pip
Lucky高4 天前
Pandas库实践1_预备知识准备
python·pandas
墨上烟雨5 天前
Pandas 数据结构 - Series
数据结构·pandas
狮智先生5 天前
【编程实践】PySide6 + Plotly + Pandas 开发HTML数据分析报告
程序人生·plotly·html·pandas