Pandas入门:Series与DataFrame操作详解
需积分: 9 9 浏览量
更新于2024-09-08
收藏 5KB MD 举报
"pandas 数据结构与基础功能"
pandas 是 Python 中用于数据分析的重要库,它提供了两种主要的数据结构:Series 和 DataFrame。这两个数据结构在处理和分析数据时扮演着核心角色。
### 一、Series对象
Series 是一种一维数组,类似于 Python 的列表,但具有与 NumPy 数组类似的数学运算功能。它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。
#### 1、生成
创建 Series 可以通过传递列表或其他序列给 `pd.Series()` 函数。例如:
```python
pd.Series([1, 2, 'a'])
```
这将创建一个 Series,其中包含整数、字符串等不同类型的元素,数据类型被识别为 object。
#### 2、切片
Series 支持多种切片方式,包括基于位置的切片、重命名的索引切片以及布尔索引。
- 基于位置的切片:`c[0:8:2]`
- 重命名索引切片:`d['a':'c']`
- 布尔索引:`d[d>0.2]`
#### 3、series类型的转换
Series 中的数据类型可以通过 `astype()` 方法或者 `pd.to_numeric()` 方法进行转换。
- `astype()` 方法允许你指定目标数据类型,如 `a.astype(np.float)`,并可通过 `errors` 参数控制错误处理方式。
- `pd.to_numeric()` 方法提供更多的灵活性,例如 `pd.to_numeric(a, errors='coerce')`,当遇到不能转换的值时,会将其转换为 `NaN`。
### 二、DataFrame(数据框)对象
DataFrame 是一个二维表格型数据结构,它可以存储许多不同类型的列,比如整数、字符串、浮点数等。DataFrame 提供了丰富的操作和分析数据的方法。
#### 1、生成
你可以通过字典、列表、Series 或其他数据源来创建 DataFrame。
#### 2、导入外部文件
pandas 提供了 `read_csv()` 和 `read_excel()` 等函数来读取 CSV、Excel 文件。
#### 3、查看数据框信息
使用 `head()` 查看前几行,`info()` 获取数据框的基本统计信息。
#### 4、数据框对象的索引和切片
DataFrame 支持类似 Series 的切片操作,同时还可以按列或行进行切片。
#### 5、删除和新增
`drop()` 函数用于删除行或列,`insert()` 用于插入新列。
#### 6、数据框修改列名
使用 `rename()` 函数可以改变列名。
#### 7、数据框对象的导出
`to_csv()` 和 `to_excel()` 函数用于将 DataFrame 导出为 CSV 或 Excel 文件。
学习 pandas,尤其是 Series 和 DataFrame 的基础功能,是数据分析初学者的关键步骤。掌握这些基本操作后,可以进一步深入学习更高级的功能,如合并、聚合、分组、时间序列分析等,从而更好地进行数据清洗、预处理和分析。
2022-06-14 上传
点击了解资源详情
点击了解资源详情
2020-09-19 上传
2020-07-16 上传
2020-09-18 上传
2021-11-17 上传
点击了解资源详情
晓海xhl
- 粉丝: 8
- 资源: 30
最新资源
- 温特线性matlab代码-matlab_NS_solvers:旧的研究代码。主要是涡量公式中的2DNS求解器
- 行业文档-设计装置-一种切纸机的双位刀头.zip
- Lora-32-Connect-by-Wifi
- 视图:场景模块的界面,为发送到渲染器的显示对象提供用户交互输入输出和剔除管理
- omniauth-rails_csrf_protection:在Rails应用程序的OmniAuth请求端点上提供CSRF保护
- ryanatkn
- 基于神经网络的人脸识别.zip
- derrobott.github.io:没事了
- matlab导弹落点代码-missile_simulation_matlab:导弹仿真Matlab代码
- iains:TestAccount
- xlog:xlog是netcontext感知HTTP应用程序的记录器
- 自动驾驶汽车案例研究
- 「基于图像识别的收银台」客户端软件,基于OpenCV + Qt,需要搭配「基于图像识别的收银台」后端服务使用。.zip
- darwish-rainmeter
- CSCI3800_Sp15_Team8:CSCI3800 Spring 2015 Team 8项目
- blog