Python pandas.DataFrame操作指南:创建、索引、增删
版权申诉
187 浏览量
更新于2024-09-15
1
收藏 67KB PDF 举报
"这篇教程主要讲解了Python中pandas库DataFrame对象的创建、索引、增添和删除等基本操作,适合初学者参考学习。"
在Python的数据处理领域,pandas库的DataFrame是极其重要的数据结构,它允许我们以二维表格形式组织数据。这篇教程将带你了解如何进行DataFrame的基本操作。
一、创建DataFrame
1. 基于字典创建:你可以使用Python字典来创建DataFrame,其中字典的键将成为列名,值则对应于列的值。例如:
```python
import pandas as pd
aa = {'one': [1, 2, 3], 'two': [2, 3, 4], 'three': [3, 4, 5]}
bb = pd.DataFrame(aa)
```
如果不指定索引,DataFrame会默认使用0, 1, 2等整数作为行索引。若要自定义索引,可以这样做:
```python
bb = pd.DataFrame(aa, index=['first', 'second', 'third'])
```
2. 从多维数组创建:使用NumPy的多维数组(ndarray)也能创建DataFrame,但需要额外指定列名和行索引:
```python
import numpy as np
aa = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
bb = pd.DataFrame(aa, index=[22, 33, 44], columns=['one', 'two', 'three'])
```
3. 使用已有DataFrame创建:你可以通过现有的DataFrame来创建新的DataFrame,例如通过选择或切片操作。
二、DataFrame的索引
DataFrame的索引包括行索引(index)和列索引(columns)。可以通过`.loc`和`.iloc`等方法进行访问和操作:
- `.loc`:基于标签(列名或行索引名)进行访问。
- `.iloc`:基于位置(整数索引)进行访问。
例如,要获取第一列数据,可以使用`bb['one']`或`bb.iloc[:, 0]`。
三、增添数据
1. 添加新列:可以直接为DataFrame添加新列,只要新列名不存在且数据长度与现有行数匹配:
```python
bb['four'] = [6, 7, 8]
```
2. 合并DataFrame:使用`pd.concat()`或`merge()`函数可以将多个DataFrame合并。
四、删除数据
1. 删除列:使用`del`关键字或`.drop()`方法可以删除列:
```python
del bb['four'] # 使用del关键字
bb.drop('three', axis=1, inplace=True) # 使用.drop()方法,axis=1表示按列删除
```
2. 删除行:同样,`.drop()`方法也可用于删除行,此时设置`axis=0`:
```python
bb.drop('22', axis=0, inplace=True) # 删除行索引为22的行
```
3. 清除数据:如果想清空DataFrame的所有数据,可以使用`.reset_index(drop=True)`。
总结,pandas.DataFrame提供了丰富的操作接口,无论是创建、索引、增添还是删除数据,都能灵活应对。熟练掌握这些基本操作,将有助于你更高效地处理和分析数据。
2021-01-20 上传
2020-09-16 上传
2021-01-20 上传
2020-09-18 上传
2020-09-20 上传
2020-09-19 上传
2020-12-21 上传
2020-12-25 上传
2020-12-25 上传
weixin_38736562
- 粉丝: 5
- 资源: 1002
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析