[黑马程序员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

相关推荐
一晌小贪欢5 小时前
Python办公自动化指南:Pandas与Openpyxl的全面比较与选择
开发语言·python·pandas·python基础·python入门·python小白
无心水9 小时前
Python时间处理通关指南:datetime/arrow/pandas实战
开发语言·人工智能·python·pandas·datetime·arrow·金融科技
RE-19011 天前
Polars:告别 Pandas 性能瓶颈,用 Rust 驱动的 DataFrame 库处理亿级数据
开发语言·rust·pandas·polars·ai生成
B站_计算机毕业设计之家3 天前
计算机毕业设计:Python当当网图书数据全链路处理平台 Django框架 爬虫 Pandas 可视化 大数据 大模型 书籍(建议收藏)✅
爬虫·python·机器学习·django·flask·pandas·课程设计
万粉变现经纪人3 天前
如何解决 pip install shapely 报错 GEOS C 库未找到 问题
c语言·开发语言·python·pycharm·bug·pandas·pip
B站计算机毕业设计之家3 天前
计算机毕业设计源码:Python图书数据智能采集与可视化大屏 当当网 Django框架 爬虫 Pandas 可视化 大数据 大模型 书籍(建议收藏)✅
爬虫·python·机器学习·信息可视化·django·pandas·课程设计
小陈工4 天前
FastAPI性能优化实战:从每秒100请求到1000的踩坑记录
python·性能优化·django·flask·numpy·pandas·fastapi
deepxuan4 天前
Day1--python三大库-Pandas
人工智能·python·pandas
万粉变现经纪人4 天前
如何解决 pip install pillow-simd 报错 需要 AVX2/特定编译器 支持 问题
python·scrapy·beautifulsoup·aigc·pandas·pillow·pip
百年੭ ᐕ)੭*⁾⁾5 天前
DataFrame存入mysql以及读取操作
数据库·mysql·numpy·pandas·ipython