Pandas库
什么是pandas?
一个开源的Python类库:用于数据分析、数据处理、数据可视化
- 高性能
- 容易使用的数据结构
- 容易使用的数据分析工具
很方便和其他类库一起使用
- numpy:用于数学计算
- scikit-learn:用于机器学习
什么是Series?
series是一种类似于一维数组的对象,有下面两个部分组成:
- values: 一组数据(ndarray类型)
- index: 相关的数据索引标签
1)series的创建
- 由列表或numpy数组创建
# 先导入所需要的pandas库
import pandas as pd
# 创建series的方法1
# 接下来演示如何将列表数据转成series
list1 = [1, 2, 3, 4]
s = pd.Series(list1)
print(s)
print('--------------------------------------------------')
print(f'series的值为:{
s.values}')
print('--------------------------------------------------')
print(f'series的索引为:{
s.index}')
print('--------------------------------------------------')
print(f'形象化series的索引值:{
list(s.index)}')
print('--------------------------------------------------')
# 修改索引如下
s.index = ['A', 'B', 'C', 'D']
print(s)
# 也可以这样修改
s.index = list('abcd')
print(s)
# 获取索引index对应的值value
s.a, s['b']
# 通过索引修改值
s['d'] = 100
print(s)
- 用字典创建series
# 以字典的方式创建索引
d = {
'A': 11,
'B': 12,
'C': 13,
'D': 14
}
s = pd.Series(d)
print(s)
s.index = list('abcd')
print(f'修改索引后:\n{
s}')
# 直接手动输入创建series
# name是自己定义的数组名称
pd.Series([1, 11, 111], index=['1个1', '2个1', '3个1'], name='数字1个数')
Series的索引
可以使用中括号取单个索引(此时返回的是元素类型),或者中括号里一个列表取多个索引(此时返回的任然是一个Series类型)。分为显示索引和隐私索引:
- 显示索引
- 使用index中的元素作为索引
- 使用.loc[] (推荐)
# 创建一组数据用来演示
s = pd.Series({
1: 150, 'Numpy': 100, 'Pandas': 130})
s
# 显示索引:使用索引名
print(f'显示索引方式1:{s['Pandas']}')
print(f'显示索引方式2:{
s.Pandas}')
print(f'显示索引一次取出多个值:\n{s[['Pandas', 'Numpy']]}')
# 使用loc[]
s.loc['Numpy']
- 隐式索引
- 使用整数作为索引值
- 使用.iloc[] (推荐)
# 隐式索引:使用数字下标
s = pd.Series({
'Python': 150, 'Numpy': 100, 'Pandas': 130})
# s[0]
# s[[0, 2]]
# # 使用iloc[]
# s.iloc[0]
s.iloc[[0, 2]]
series切片
# 创建Series数组演示切片
s = pd.Series({
'语文': 100,
'数学': 150,
'英语': 120,
'python': 130,
'Pandas': 140,
'NumPy': 150
})
s
# 切片
# Series是一维数组
# 隐式切片
s[1 : 4]
s.iloc[1 : 4]
# 显式切片
s['数学' : 'python']
s.loc['数学' : 'python']