Pandas DataFrame:数据预处理与操作实战
61 浏览量
更新于2024-08-03
2
收藏 380KB PDF 举报
在数据分析和数据预处理中,Pandas DataFrame是一个核心的数据结构,它提供了丰富的数据操作功能。本文将围绕Pandas DataFrame展开一系列基础知识点的讲解,并通过代码示例来演示其应用。
首先,我们将数据导入Pandas并创建DataFrame,如例子所示:
```python
import pandas as pd
data = {
"code": ['000008', '000009', '000021', '000027', '000034', '000058', '000062', '00006...],
"name": ['神州科技', '中国宝安', '深科技', '深圳能源', '神州数码', '深赛格', '深圳华强', ...],
"concept": ['5G', '创投', '芯片概念', '创投', '网络安全', '创投', '创投', '芯片概念', ...]
}
stock_df = pd.DataFrame(data=data)
```
1. **字符替换**:DataFrame中对特定列进行字符替换是非常常见的操作。例如,可以使用`map()`函数配合字典,将如“ys4ng35toofdviy9ce0pn1uxw2x7trjb”这样的编码替换为“娱乐”。另一个例子是使用`str.replace()`方法,针对单个字符串进行替换,如将“5G”替换为“6G”,“创投”替换为“创业投资”。
```python
dicts = {'ys4ng35toofdviy9ce0pn1uxw2x7trjb': '娱乐', ...}
res['name'] = res['name'].map(lambda x: dicts[x] if x in dicts else x)
stock_df['concept'] = stock_df['concept'].str.replace('5G', '6G').str.replace('创投', '创业投资')
```
2. **分组统计**:利用`groupby()`方法,可以按某一列进行分组,然后进行统计分析。例如,对`'name'`列进行分组,计算每个类别出现的次数(使用`value_counts()`)或求和(使用`sum()`)。
```python
name_counts = stock_df.groupby('name')['concept'].value_counts()
# 或者按概念进行分组求和
concept_sums = stock_df.groupby('concept')['code'].sum()
```
3. **数据排序**:可以使用`sort_values()`方法对DataFrame按指定列进行升序或降序排序。
4. **数据转换**:包括数据类型转换,如日期格式化,可以使用`to_datetime()`函数;空值处理,如使用`fillna()`填充缺失值,或者`dropna()`删除含有缺失值的行。
5. **数据操作**:例如,添加、删除列,如`df['new_column'] = df['old_column'] + '附加字符'`;合并多行数据为一行,可以使用`pivot()`或`melt()`等函数;截取特定字符;删除包含特殊字符的行等。
6. **文本处理**:在处理文本数据时,可能需要进行字符截取、替换或删除特定字符等操作。
7. **时间计算**:例如,使用`pd.to_timedelta()`计算两个时间列之间的差值。
8. **数据清洗**:删除重复数据,使用`drop_duplicates()`函数;取消或重置索引,使用`reset_index(drop=True)`。
9. **统计计算**:Pandas提供了一系列内置函数来进行计算,如`mean()`, `median()`, `min()`, `max()`, `count()`等,以及更高级的统计方法,如`cumsum()`累计求和。
10. **筛选和过滤**:使用`str.contains()`函数可以进行正则匹配筛选,根据特定条件筛选行。
通过以上这些操作,Pandas DataFrame成为了数据清洗、转换和分析的强大工具,使得数据分析工作更加高效和灵活。熟练掌握这些基础操作,将有助于你在实际项目中处理各种复杂的数据处理任务。
2022-01-17 上传
2024-06-17 上传
2024-06-06 上传
2023-11-28 上传
2023-08-24 上传
2024-09-23 上传
2023-08-30 上传
2023-06-07 上传
2023-06-25 上传
Steven灬
- 粉丝: 1w+
- 资源: 13
最新资源
- Postman安装与功能详解:适用于API测试与HTTP请求
- Dart打造简易Web服务器教程:simple-server-dart
- FFmpeg 4.4 快速搭建与环境变量配置教程
- 牛顿井在围棋中的应用:利用牛顿多项式求根技术
- SpringBoot结合MySQL实现MQTT消息持久化教程
- C语言实现水仙花数输出方法详解
- Avatar_Utils库1.0.10版本发布,Python开发者必备工具
- Python爬虫实现漫画榜单数据处理与可视化分析
- 解压缩教材程序文件的正确方法
- 快速搭建Spring Boot Web项目实战指南
- Avatar Utils 1.8.1 工具包的安装与使用指南
- GatewayWorker扩展包压缩文件的下载与使用指南
- 实现饮食目标的开源Visual Basic编码程序
- 打造个性化O'RLY动物封面生成器
- Avatar_Utils库打包文件安装与使用指南
- Python端口扫描工具的设计与实现要点解析