目录:
- 学习目标
- 数据准备
- 获取索引及列名
- index查看索引
- columns查看列名
- 索引及列名的修改方法
- 指定某列为索引
- 使用set_index函数
- 读取数据时指定索引列
- reset_index重置索引
- 赋值修改索引及列名
- 赋值修改索引
- 赋值修改列名
- rename函数修改索引和列名
- rename函数修改索引
- rename函数修改列名
- 指定某列为索引
- 总结
- 项目地址
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',
...
}
)