Python 数据分析与展示笔记4 -- Pandas 库基础

版权声明: https://blog.csdn.net/Wang_Jiankun/article/details/84621738

Python 数据分析与展示笔记4 – Pandas 库基础


Python 数据分析与展示系列笔记是笔者学习、实践Python 数据分析与展示的相关笔记

课程链接: Python 数据分析与展示

参考文档:
Numpy 官方文档(英文)
Numpy 官方文档(中文)
PIL 官方文档
Matplotlib 官方文档
Pandas 官方文档(英文)
Pandas 官方文档(中文)
Pandas 官方文档PDF下载


一、Pandas


1、安装、导入 Pandas

# 安装
pip3 install pandas

# 导入
import pandas as pd

2、Pandas 简介

  • Pandas 是 Python 第三方库,提供高性能易用数据类型和分析工具
  • Pandas 基于 NumPy 实现,提供更多样的索引,除了自动索引,可以添加自定义索引
  • 使用索引时只能使用自动索引/自定义索引,不能混合使用

二、 Pandas 数据类型


1、Series 类型

Series是带索引标签的一维数组

创建 Series 类型: 可以基于以下类型创建

  • 标量值
  • Python 列表
  • Python 字典
  • 一维 ndarray 数组
  • 其他函数
import pandas as pd
import numpy as np

# 基于标量值创建
s = pd.Series(10, index=['a', 'b'])
print(s)

>>> a    10
	b    10
	dtype: int64

# 基于列表创建
s = pd.Series([1, 2], index=['a', 'b'])
print(s)

>>> a    1
	b    2
	dtype: int64

# 基于字典创建,index 可以从字典的键值选择需要的,没有的话用 NaN填充
s = pd.Series({'b': 1, 'a': 2, 'c': 3}, index=['a', 'b', 'd'])
print(s)

>>> a    2.0
	b    1.0
	d    NaN
	dtype: float64

# 基于 ndarray 数组创建,index 也可以是 ndarray 数组
s = pd.Series(np.arange(3), index=np.arange(5, 0, -2))
print(s)

>>> 5    0
	3    1
	1    2
	dtype: int32

Series 类型的基本操作:

  • Series 类型包括 index 和 values 两部分,.index 获得索引
    .values 获得数据
  • Series 类型的操作类似 ndarray 类型,索引、切片、使用 numpy 函数
  • Series 类型的操作类似 Python 字典类型,in、.get()
  • Series 对象和索引都可以有一个名字,存储在属性.name中,可以修改
  • Series 类型在运算中会自动对齐不同索引的数据,各自没有的索引其值赋为 NaN 再运算
import pandas as pd
import numpy as np

# 创建一个 Series 数组
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])

# 获得索引
s.index
>>> Index(['a', 'b', 'c'], dtype='object')

# 获得数据
s.values
>>> [1 2 3]

# 索引访问数据,自动索引和自定义索引并存,但两套索引并存,但不能混用
s[['a', 'b']]
>>> a    1
	b    2

s[0]
>>> 1

# 切片
s[:2]
>>> a    1
	b    2

# numpy 运算函数
np.exp(s)
>>> a     2.718282
	b     7.389056
	c    20.085537
	dtype: float64

# in 操作
'b' in s
>>> True

# .get() 操作
s.get('d', 4)
>>> 4

# 修改Series 对象和索引名称
print(s.name)
print(s.index.name)
s.name = 'series name'
s.index.name = 'index name'
print(s.name)
print(s.index.name)
>>> None
	None
	series name
	index name

#  Series 运算对齐索引
a = pd.Series([1, 2], ['a', 'b'])
b = pd.Series([2, 3], ['b', 'd'])
a + b
>>> a    NaN
	b    4.0
	d    NaN
	dtype: float64

2、DataFrame

DataFrame 是一个表格型的数据类型,每列值类型可以不同,既有行索引、也有列索引,常用于表达二维数据,但可以表达多维数据

创建 Series 类型: 可以基于以下类型创建

  • 二维 ndarray 对象
  • 由一维 ndarray、列表、字典、元组或 Series 构成的字典
  • Series 类型
  • 其他的 DataFrame 类型
import pandas as pd
import numpy as np

# 基于二维 ndarray 对象创建
d = pd.DataFrame(np.arange(4).reshape(2, 2))
print(d)
>>>    0  1
	0  0  1
	1  2  3

# 基于 Series 字典
d = pd.DataFrame({'one': pd.Series([1, 2], ['a', 'b']),
                  'two': pd.Series([3, 4], ['a', 'b'])})
print(d)
>>>    one  two
	a    1    3
	b    2    4

# 基于列表类型的字典创建
d = pd.DataFrame({'one': [1, 2], 'two': [3, 4]})
print(d)
>>>    one  two
	0    1    3
	1    2    4

DataFrame 索引类型的基本操作:

方法 说明
.reindex() 改变或重排Series和DataFrame索引
.drop() 删除Series和DataFrame指定行或列索引
.delete(loc) 删除loc位置处的元素
.insert(loc,e) 在loc位置增加一个元素e
.append(idx) 连接另一个Index对象,产生新的Index对象
.diff(idx) 计算差集,产生新的Index对象
.intersection(idx) 计算交集
.union(idx) 计算并集

DataFrame 算术运算的基本操作:

方法 说明
.add(d, **argws) 加法运算,+
.sub(d, **argws) 减法运算,-
.mul(d, **argws) 乘法运算,*
.div(d, **argws) 除法运算,/

GOOD LUCK!


猜你喜欢

转载自blog.csdn.net/Wang_Jiankun/article/details/84621738