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

相关推荐
神奇夜光杯14 小时前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
写代码的小阿帆2 天前
深度学习—Pandas标签库基础
深度学习·pandas
我就说好玩2 天前
2020年美国总统大选数据分析与模型预测
大数据·python·数据挖掘·数据分析·pandas·sklearn
神奇夜光杯2 天前
Python酷库之旅-第三方库Pandas(200)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
立黄昏粥可温2 天前
Python 从入门到实战44(Pandas读写数据)
开发语言·python·pandas
python1563 天前
Python Pandas内存管理技巧助力高效处理大数据
大数据·python·pandas
Python大数据分析@3 天前
学习python中的pandas有没有好的教程推荐?
python·学习·pandas
FreedomLeo13 天前
Python数据分析NumPy和pandas(二十三、数据清洗与预处理之五:pandas的分类类型数据)
python·数据分析·numpy·pandas·categoricals·数据分类分析·建模和机器学习
Cachel wood5 天前
Django3 + Vue.js 前后端分离书籍添加项目Web开发实战
开发语言·前端·vue.js·python·数据分析·sqlite·pandas
Kalika0-06 天前
Pandas DataFrame学习
pytorch·学习·pandas