import pandas as pddf = pd.DataFrame( {"Name": ["Braund, Mr. Owen Harris","Allen, Mr. William Henry","Bonnell, Miss. Elizabeth",],"Age": [22, 35, 58],"Sex": ["male", "male", "female"],"Class": [1,3,5],})# print(df) # 获取一个DataFrame,相当于一个小表格# print(df["Age"]) # 获取Age列# print(df["Age"].max()) # 获取Age列中的最大值# print(df.describe()) # 对数字类型的值进行分析print(df.values.tolist()) # 把整个数据变成列表
Pandas是什么¶
https://pandas.liuzaoqi.com/doc/chapter0/%E5%85%A5%E9%97%A8pandas.html
Pandas是一种基于 Python 的快速、强大、灵活且易于使用的开源数据分析和操作工具。
以下是 Pandas 擅长的一些事情:
- 轻松处理浮点和非浮点数据中的缺失数据
- 强大、灵活的分组功能,可对数据集执行拆分-应用-组合操作,用于聚合和转换数据
- 简单的将其他Python和NumPy的数据结构不同索引的数据转换成pandas对象
- 直观的合并和连接数据集
- 灵活地重塑和旋转数据集
- 强大的 IO 工具,用于从平面文件(CSV 和分隔符)、Excel 文件、数据库加载数据,以及从超快HDF5 格式保存/加载数据
- 时间序列特定功能:日期范围生成和频率转换、移动窗口统计、日期偏移和滞后。
这里的许多原则是为了解决使用其他语言/科学研究环境时经常遇到的缺陷。对于数据科学家来说,处理数据通常分为多个阶段:对数据进行筛选和清理,对数据进行分析/建模,然后将分析结果组织成适合绘图或表格显示。而 Pandas 是完成所有这些任务的理想工具。
DataFrame¶
通常情况下我们都是对 pd.DataFrame 进行操作,其基本结构如下图所示
DataFrame是一种二维数据结构,我们可以在每一个 cell 中存储不同类型的数据(包括字符串、整数、浮点值、分类数据等),你可以将它想象成 Excel 表格、SQL表或者 R中的 data.frame。
例如可以用下面的代码创建一个 DataFrame 用于存储泰坦尼克号的乘客数据。
df = pd.DataFrame( {"Name": ["Braund, Mr. Owen Harris","Allen, Mr. William Henry","Bonnell, Miss. Elizabeth",],"Age": [22, 35, 58],"Sex": ["male", "male", "female"],})df
| ** |
Name | Age | Sex |
|---|---|---|---|
| 0 | Braund, Mr. Owen Harris | 22 | male |
| 1 | Allen, Mr. William Henry | 35 | male |
| 2 | Bonnell, Miss. Elizabeth | 58 | female |
Series¶
此外,另一个需要关注的数据结构是 pd.Series ,pandas的每一列都是一个 Series
例如我们只对 age 列感兴趣,可以使用 [] 将其筛选出来,结果是便是一个pd.Series
df["Age"]0 221 352 58Name: Age, dtype: int64
利用 DataFrame 或 Series 进行分析¶
在上面了解了 Pandas 的基本数据结构之后,现在,我将介绍一些简单的分析代码,例如想知道乘客的最大年龄,我们可以通过 DataFrame 选择 Age 列并应用 max() 来实现
df["Age"].max()58
正如 max() 方法所示,我们可以使用DataFrame进行操作。pandas提供了很多功能,每个功能都是可以应用于DataFrame或Series的方法。因为方法是函数,所以不要忘记使用括号()。
除了返回数值,大部分 pandas 操作都会返回一个DataFrame或一个Series。例如若果对数据表的数值数据的一些基本统计感兴趣,可以使用 describe() 来得到一个新的 dataframe
df.describe()
| ** |
Age |
|---|---|
| count | 3.000000 |
| mean | 38.333333 |
| std | 18.230012 |
| min | 22.000000 |
| 25% | 28.500000 |
| 50% | 35.000000 |
| 75% | 46.500000 |
| max | 58.000000 |
