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

相关推荐
CodeCraft Studio2 天前
Excel处理控件Aspose.Cells教程:使用 Python 将 Pandas DataFrame 转换为 Excel
python·json·excel·pandas·csv·aspose·dataframe
njxiejing2 天前
Pandas数据结构(DataFrame,字典赋值)
数据结构·人工智能·pandas
Calihen的学习日志3 天前
【Pandas】3.1-数据预处理:列的基本操作
python·pandas
Source.Liu4 天前
【Python自动化】 21.2 Pandas 读取 Excel 时的 dtype 参数完全指南
python·自动化·pandas
Source.Liu4 天前
【Python自动化】 21 Pandas Excel 操作完整指南
python·excel·pandas
Source.Liu4 天前
【Python自动化】 21.1 Pandas 读取 Excel 文件的完整指南
python·自动化·pandas
偷心伊普西隆5 天前
Pandas DataFrame 指南
python·数据分析·pandas
chad__chang11 天前
Pandas的数据结构
数据结构·pandas
老歌老听老掉牙13 天前
Pandas DataFrame 列数操作完全指南
python·pandas
万粉变现经纪人14 天前
如何解决pip安装报错ModuleNotFoundError: No module named ‘websockets’问题
ide·pycharm·beautifulsoup·pandas·fastapi·pip·httpx