网络爬虫、Pandas

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。

Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。

Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。

Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。

Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。

Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。

学习本教程前你需要了解

在开学习 Pandas 教程之前,我们需要具备基本的 Python 基础,如果你对 Python还不了解,可以阅读我们的教程:

Python 2.x 版本

Python 3.x 版本

Pandas 应用

Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。

数据结构

Series 是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。

DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

Pandas安装安装

pandas需要基础环境是Python,开始前我们假定你已经安装了Python和Pip。

使用pip安装pandas:

Microsoft Windows [版本 10.0.19043.1645]

(c) Microsoft Corporation。保留所有权利。

C:\WINDOWS\system32>pip install pandas

Requirement already satisfied: pandas in c:\users\1234\anaconda3\lib\site-packages (1.3.4)

Requirement already satisfied: pytz>=2017.3 in c:\users\1234\anaconda3\lib\site-packages (from pandas) (2021.3)

Requirement already satisfied: numpy>=1.17.3 in c:\users\1234\anaconda3\lib\site-packages (from pandas) (1.20.3)

Requirement already satisfied: python-dateutil>=2.7.3 in c:\users\1234\anaconda3\lib\site-packages (from pandas) (2.8.2)

Requirement already satisfied: six>=1.5 in c:\users\1234\anaconda3\lib\site-packages (from python-dateutil>=2.7.3->pandas) (1.16.0)

C:\WINDOWS\system32>

Pandas 数据结构 - DataFrame

DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

DataFrame 构造方法如下:

pandas.DataFrame( data, index, columns, dtype, copy)

参数说明:

data:一组数据(ndarray、series, map, lists, dict 等类型)。

index:索引值,或者可以称为行标签。

columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。

dtype:数据类型。

copy:拷贝数据,默认为 False。

Pandas DataFrame 是一个二维的数组结构,类似二维数组。

实例 - 使用列表创建

import pandas as pd

data = [['Google',10],['Runoob',12],['Wiki',13]]

df = pd.DataFrame(data,columns=['Site','Age'],dtype=float)

print(df)

以下实例使用 ndarrays 创建,ndarray 的长度必须相同, 如果传递了 index,则索引的长度应等于数组的长度。如果没有传递索引,则默认情况下,索引将是range(n),其中n是数组长度。

ndarrays 可以参考:NumPy Ndarray 对象

实例 - 使用 ndarrays 创建

import pandas as pd

data = {'Site':['Google', 'Runoob', 'Wiki'], 'Age':[10, 12, 13]}

df = pd.DataFrame(data)

print (df)

还可以使用字典(key/value),其中字典的 key 为列名:

实例 - 使用字典创建

import pandas as pd

data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}]

df = pd.DataFrame(data)

print (df)

没有对应的部分数据为 NaN。

Pandas 可以使用 loc 属性返回指定行的数据,如果没有设置索引,第一行索引为 0,第二行索引为 1,以此类推:

实例

import pandas as pd

data = {

"calories": [420, 380, 390],

"duration": [50, 40, 45]

}

数据载入到 DataFrame 对象

df = pd.DataFrame(data)

返回第一行

print(df.loc[0])

返回第二行

print(df.loc[1])

最新文章

  1. Mysql主从复制,读写分离(mysql-proxy),双主结构完整构建过程
  2. Spark入门实战系列--3.Spark编程模型(下)--IDEA搭建及实战
  3. 【BZOJ 2115】【WC 2011】Xor
  4. 60. Permutation Sequence
  5. AC日记——机器翻译 洛谷 P1540
  6. 简单学习:repo入门
  7. hive-jdbc/odbc的解读和看法
  8. Skill
  9. [已解决问题] Could not find class XXX referenced from method XXX.<YYY>
  10. Duplicate headers received from server
  11. Sql server统计查询语句消耗时间
  12. poj 2425 A Chess Game_sg函数
  13. Unity SurfaceShader 开始编程
  14. what i want
  15. 四:客服端防护HTTP发送请求类
  16. IBus prior to 15.11 may cause input problems. See IDEA-78860 for details.
  17. 基于Java的REST架构风格及接口安全性设计的讨论
  18. 是否可从一个static方法内发出对非static方法的调用?
  19. 【编码题篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
  20. 已经菜到不行了 PAT 1010. Radix (25)

热门文章

  1. java-规约-集合
  2. @Autowired 注解有什么用?
  3. Elasticsearch 在部署时,对 Linux 的设置有哪些优化方 法?
  4. 数据仓库(5)数仓Kimball与Inmon架构的对比
  5. python爬虫---链家网二手房价采集
  6. Bitmap图片的处理
  7. Spring MVC框架搭建及其详解
  8. 从零搭建react开发环境
  9. LINUX执行shutdown.sh提示:-bash: ./startup.sh: Permission denied
  10. css3属性之filter初探