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

相关推荐
Gyoku Mint2 天前
机器学习×第二卷:概念下篇——她不再只是模仿,而是开始决定怎么靠近你
人工智能·python·算法·机器学习·pandas·ai编程·matplotlib
坚持就完事了2 天前
大二下期末
python·numpy·pandas
仟濹4 天前
「数据分析 - Pandas 函数」【数据分析全栈攻略:爬虫+处理+可视化+报告】
爬虫·数据分析·pandas
KENYCHEN奉孝4 天前
Pandas和Django的示例Demo
python·django·pandas
liuweidong08024 天前
【Pandas】pandas DataFrame sample
python·数据挖掘·pandas
java1234_小锋5 天前
一周学会Pandas2之Python数据处理与分析-Pandas2数据绘图与可视化
开发语言·python·信息可视化·pandas
先做个垃圾出来………5 天前
Python中使用pandas
开发语言·python·pandas
小小爬虾6 天前
使用pandas实现合并具有共同列的两个EXCEL表
excel·pandas
liuweidong08026 天前
【Pandas】pandas DataFrame rename
python·数据挖掘·pandas