Python pandas.DataFrame操作指南:创建、索引、增删
版权申诉
84 浏览量
更新于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-09-19 上传
2020-12-25 上传
weixin_38736562
- 粉丝: 5
- 资源: 1002
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析