数据分析之pandas的基本操作
![](https://filescdn.proginn.com/05f324fe3bba425739a6bced70b49ccc/fb197c5dc7e2d373f70c9b824c3cc21b.webp)
哈喽各位好啊
我是土豆哦
今天就来跟大家说一说数据分析其中一个库
pandas
![](https://filescdn.proginn.com/f6834b8ea665663077ccf07ff4615702/310f5be6979a01b755f71e786ae25ae6.webp)
01
首先我们要了解一下什么是pandas
Pandas的名称来自于面板数据(panel data)和Python数据分析(data analysis)。
Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了 高级数据结构 和 数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一。
一个强大的分析和操作大型结构化数据集所需的工具集
基础是NumPy,提供了高性能矩阵的运算
提供了大量能够快速便捷地处理数据的函数和方法
应用于数据挖掘,数据分析
提供数据清洗功能
Series和DataFrame中的索引都是Index对象,索引对象不可变,保证了数据的安全
Index对象种类:Index,索引;Int64Index,整数索引;MultiIndex,层级索引;DatetimeIndex,时间戳类型
Pandas有两个最主要也是最重要的数据结构:Series 和 DataFrame
pandas的基本数据结构
目前,pandas的基本数据结构有3种,Series,DataFrame和Pandel。要想熟练使用Pandas,这三种数据结构一定要牢记于心。其中DataFrame使用频率最高。
数据结构 | 维度 | 轴标签 |
Series | 一维 | index(唯一的行) |
DataFrame | 二维 | index(行)和columns(列) |
Pandel | 三维 | items major_axis和 minor_axis |
![](https://filescdn.proginn.com/f6834b8ea665663077ccf07ff4615702/310f5be6979a01b755f71e786ae25ae6.webp)
Series
类似一维数组的对象
由数据和索引组成
索引(index)在左,数据(values)在右
索引是自动创建的
Series的相关操作
操作 | 代码实现 | 返回值 | 说明 |
获取前n行数据 | series.head(3) | 新Series | 获取前三行,默认获取前五行 |
获取后n行数据 | series.tail(3) | 新Series | 获取后三行,默认获取后五行 |
获取index | series.index | RangeIndex | 获取index |
获取values | series.values | ndarray一维数组 | 获取所有values |
运算 | series * 2 | 新Series | 索引与数据的对应关系不被运算结果影响 |
series > 15 | 新Series(bool) | ||
name属性 | series.name | 新Series | |
series.index.name | 新Series | ||
利用index取值 | series[index] series['b'] | 对应的value值 | |
利用index切片 | series[2:4] series['b':'d'] | 新Series | 按索引名切片操作时,是包含终止索引的 |
不连续索引 | series[[0,2,4]] series[['b','d']] | 新Series | 注意是双层中括号[[…,…,…,]] |
布尔索引 | series1 = series > 2 series2[series1] | 新Series |
![](https://filescdn.proginn.com/f6834b8ea665663077ccf07ff4615702/310f5be6979a01b755f71e786ae25ae6.webp)
DataFrame(Series容器)
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同类型的值。DataFrame既有行索引也有列索引,它可以被看做是由Series组成的字典(共用同一个索引),数据是以二维结构存放的。
类似多维数组/表格数据 (如,excel, R中的data.frame)
每列数据可以是不同的类型
索引包括列索引和行索引
DataFrame的相关操作
操作 | 代码实现 | 返回值 | 说明 |
获取前n行 | dataframe.head(3) | 新DataFrame | 获取前三行,默认获取前五行 |
获取后n行 | dataframe.tail(3) | 新DataFrame | 获取后三行,默认获取后五行 |
shape | dataframe.shape | 元组 | 返回dataframe形状 |
获取index | dataframe.index | RangeIndex | 获取index |
columns | dataframe.columns | RangeIndex | DataFrame列索引列表 |
获取values | dataframe.values | ndarray二维数组 | 获取所有values |
获取列数据 | dataframe['A'] <=> dataframe.A | 新Series | 通过列索引获取列数据 |
dataframe[['A']] | 新DataFrame(只有一列) | 注意是双层中括号[[…,…,…,]] | |
增加列数据 | dataframe['G'] = series dataframe['G'] = dataframe['A'] + 4 | 新DataFrame | 类似Python的dict添加key-value |
删除列数据 | del(dataframe['G']) | None | |
不连续索引 | dataframe[['a','c']] | 新DataFrame | 注意是双层中括号[[…,…,…,]] |
![](https://filescdn.proginn.com/4851c2fe39189c4f7bb9b6ddeb13ad0d/bc3322a26d68417ceae195b96a5c5cd2.webp)
呱唧呱唧
对于pandas这个库的一些基础我们就写到这里啦
觉得不错的话别忘了给土豆一个三连哦
我们下期再见哦
需要学习资料的可以添加土豆的微信领取哦
![](https://filescdn.proginn.com/e413d367f6accbf8be4e1e50b9be1815/7b300e19dead5d11a3a010f63342a331.webp)
![](https://filescdn.proginn.com/1039bdf9e21fd327f9ab0bc23020c791/9caeb2723c8ba11d49123a7083bc59ab.webp)
![](https://filescdn.proginn.com/d7900e75602099c6a1ca3c91f8d0d7cb/45c0cc91c3c9a358eef31d2a989ac274.webp)
内容源自网络