[pandas]新手教程:1.准备工作
0. 前言
2022年5月,再次提起勇气来开始学习pandas。下面是后面我认为可能需要的
-
知识储备:
-
自带明确的需求
-
SQL
-
数据库
-
python
-
-
学习资源:
1. 安装
环境:Vscode+Pyhton3.10
有几个提前要做的步骤是很有必要的,可以避免很多初学者会遇到的麻烦。主要是Vscode用jupyter挺方便的。
Step1: 设置工作区(workspace)
Step2: 建立虚拟环境(venv)
这里需要注意的是,如果和我一样,同时装了python2和python3,那么你得用:
python3 -m venv venv
Step3: 安装pandas
pip install pandas
还有conda等其他方法来安装和配置环境,没尝试。
到这里,已经搭建好环境:
-
操作系统:MacOS
-
IDE: Vscode + jupyter
-
终端:powershell
还需要做一个测试:
- 在Vscode中,打开终端:
# 进入虚拟环境
PS /Users/watalo/programs/pandas-note> venv/bin/acitvate.ps1
# 启动python
(venv)PS /Users/watalo/programs/pandas-note> python
- 进入python后,执行pd.test()
>>> import pandas as pd
pd.test()
执行后,系统会进行一段时间的测试,看能不能用。我这里返回了很多信息,最关键的估计就是以下内容:
========== 7 failed, 132503 passed, 21237 skipped, 1077 xfailed, 5 xpassed, 192 warnings, 10 errors in 1368.28s (0:22:48) ===========
Step4: 安装依赖包
官方推荐了很多的依赖包,有数据处理、可视化、数据类型相关的。
- 一定得装得依赖库
| Package | 最低支持版本 |
|---|---|
| setuptools | 24.2.0 |
| NumPy | 1.13.3 |
| python-dateutil | 2.6.1 |
| pytz | 2017.2 |
| numexpr | |
| bottleneck |
- 某些特定功能需要的库
| 依赖名称 | 最低版本 | 注意 |
|---|---|---|
| BeautifulSoup4 | 4.6.0 | HTML parser for read_html (see note) |
| Jinja2 | Conditional formatting with DataFrame.style | |
| PyQt4 | Clipboard I/O | |
| PyQt5 | Clipboard I/O | |
| PyTables | 3.4.2 | HDF5-based 读写 |
| SQLAlchemy | 1.1.4 | SQL support for databases other than sqlite |
| SciPy | 0.19.0 | Miscellaneous statistical functions |
| XLsxWriter | 0.9.8 | Excel读写 |
| blosc | Compression for msgpack | |
| fastparquet | 0.2.1 | Parquet reading / writing |
| gcsfs | 0.2.2 | Google Cloud Storage access |
| html5lib | HTML parser for read_html (see note) | |
| lxml | 3.8.0 | HTML parser for read_html (see note) |
| matplotlib | 2.2.2 | 可视化必装 |
| openpyxl | 2.4.8 | Reading / writing for xlsx files |
| pandas-gbq | 0.8.0 | Google Big Query access |
| psycopg2 | PostgreSQL engine for sqlalchemy | |
| pyarrow | 0.9.0 | Parquet and feather reading / writing |
| pymysql | 0.7.11 | MySQL engine for sqlalchemy |
| pyreadstat | SPSS files (.sav) reading | |
| pytables | 3.4.2 | HDF5 reading / writing |
| qtpy | Clipboard I/O | |
| s3fs | 0.0.8 | Amazon S3 access |
| xarray | 0.8.2 | pandas-like API for N-dimensional data |
| xclip | Clipboard I/O on linux | |
| xlrd | 1.1.0 | Excel reading |
| xlwt | 1.2.0 | Excel writing |
| xsel | Clipboard I/O on linux | |
| zlib | Compression for msgpack |
成年人不做选择题,全部装了就完了。
提示:
导出所有依赖包
- pip install freeze > requirements.txt
用requirements安装依赖包
- pip install -r requirements.txt
设置国内源
pip install pip -U pip config set global.index-url https://pypi.douban.com/simple/
2. Pandas概论
Pandas 是 Python的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。
处理哪些数据
- 与 SQL 或 Excel 表类似的,含异构列的表格数据;
- 有序和无序(非固定频率)的时间序列数据;
- 带行列标签的矩阵数据,包括同构或异构型数据;
- 任意其它形式的观测、统计数据集, 数据转入 Pandas 数据结构时不必事先标记。
两种数据结构
| 维数 | 名称 | 描述 |
|---|---|---|
| 1 | Series | 带标签的一维同构数组 |
| 2 | DataFrame | 带标签的,大小可变的,二维异构表格 |
-
Pandas所有的数据结构的值都是可变的,但是数据结构的大小并非都可变。
-
Series的长度不能变
-
DataFrame可以插入列
-
-
绝大部份方法不改变原始数据,而是复制生成新对象再操作。
种草:nbconvert
可以快速的将jupyternotebook 转成md等等各种格式。
安装:
pip install nbconvert使用:
cd到脚本所在文件夹
jupyter nbconvert --to markdown xxxxxx.ipynb

浙公网安备 33010602011771号