Pandas数据规整
Pandas数据规整
数据分析和建模方面的大量编程工作都是用在数据准备上的,有时候存放在文件或数据库中的数据并不能满足数据处理应用的要求
Pandas提供了一组高级的、灵活的、高效的核心函数和算法,它们能够轻松地将数据规整化为你需要的形式
合并
连接
Pandas提供了大量方法,能轻松的对Series,DataFrame和Panel执行合并操作
连接pandas对象 .concat()
import numpy as np
import pandas as pddf = pd.DataFrame(np.random.randn(10, 4))
df.head()
0 | 1 | 2 | 3 | |
---|---|---|---|---|
0 | 0.231308 | 1.193636 | -0.033288 | 0.826399 |
1 | -0.421474 | -0.618510 | -1.266325 | -0.439435 |
2 | -0.279457 | 0.578144 | 1.131353 | -0.639720 |
3 | -1.197750 | -0.446579 | 0.495728 | 0.900704 |
4 | -0.638926 | -0.233019 | -1.106248 | -0.762133 |
pieces = [df[:2], df[3:5], df[7:]] # 这里面切片是前闭后开的
pieces
[ 0 1 2 30 0.231308 1.193636 -0.033288 0.8263991 -0.421474 -0.618510 -1.266325 -0.439435,0 1 2 33 -1.197750 -0.446579 0.495728 0.9007044 -0.638926 -0.233019 -1.106248 -0.762133,0 1 2 37 -0.265515 -0.705797 0.695531 -0.2573748 0.552615 -0.137180 0.859215 -0.8537529 -1.014105 0.392409 -1.832748 0.612679]
df2 = pd.concat(pieces)
df2
0 | 1 | 2 | 3 | |
---|---|---|---|---|
0 | 0.231308 | 1.193636 | -0.033288 | 0.826399 |
1 | -0.421474 | -0.618510 | -1.266325 | -0.439435 |
3 | -1.197750 | -0.446579 | 0.495728 | 0.900704 |
4 | -0.638926 | -0.233019 | -1.106248 | -0.762133 |
7 | -0.265515 | -0.705797 | 0.695531 | -0.257374 |
8 | 0.552615 | -0.137180 | 0.859215 | -0.853752 |
9 | -1.014105 | 0.392409 | -1.832748 | 0.612679 |
追加 .append()
df = pd.DataFrame(np.random.randn(4, 4), columns=['A','B','C','D'])
df
A | B | C | D | |
---|---|---|---|---|
0 | 1.295901 | -0.742636 | 0.873728 | -0.810075 |
1 | 1.073456 | 0.344627 | 0.156597 | 1.460616 |
2 | 1.696282 | -1.272457 | 1.226460 | -1.944458 |
3 | -0.473047 | 0.147528 | -0.538231 | 0.125467 |
s = df.iloc[2]
s
A 1.696282
B -1.272457
C 1.226460
D -1.944458
Name: 2, dtype: float64
df.append(s, ignore_index=True)
A | B | C | D | |
---|---|---|---|---|
0 | 1.295901 | -0.742636 | 0.873728 | -0.810075 |
1 | 1.073456 | 0.344627 | 0.156597 | 1.460616 |
2 | 1.696282 | -1.272457 | 1.226460 | -1.944458 |
3 | -0.473047 | 0.147528 | -0.538231 | 0.125467 |
4 | 1.696282 | -1.272457 | 1.226460 | -1.944458 |
分组
group by()
:一般指以下一个或多个操作步骤
- Splitting 将数据分组
- Applying 对每个分组应用不同的function
- Combining 使用某种数据结果展示结果
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'foo'],'B' : ['one', 'one', 'two', 'three','two', 'two', 'one', 'three'],'C' : np.random.randn(8),'D' : np.random.randn(8)})
df
A | B | C | D | |
---|---|---|---|---|
0 | foo | one | 0.556699 | 1.543716 |
1 | bar | one | -0.905349 | -0.054870 |
2 | foo | two | 1.220397 | -0.589706 |
3 | bar | three | 0.637305 | -0.046351 |
4 | foo | two | -0.150553 | -0.889157 |
5 | bar | two | -0.771132 | 0.196547 |
6 | foo | one | 0.008275 | -0.571672 |
7 | foo | three | 0.228275 | -1.164593 |
# 分组后sum求和:
a = df.groupby('A').sum()
a
C | D | |
---|---|---|
A | ||
bar | -1.039176 | 0.095325 |
foo | 1.863094 | -1.671411 |
a = df.groupby('A',as_index=False).sum()
a
A | C | D | |
---|---|---|---|
0 | bar | -1.039176 | 0.095325 |
1 | foo | 1.863094 | -1.671411 |
# 对多列分组后sum:
b = df.groupby(['A','B']).sum()
b
C | D | ||
---|---|---|---|
A | B | ||
bar | one | -0.905349 | -0.054870 |
three | 0.637305 | -0.046351 | |
two | -0.771132 | 0.196547 | |
foo | one | 0.564975 | 0.972044 |
three | 0.228275 | -1.164593 | |
two | 1.069844 | -1.478862 |
b = df.groupby(['A','B'],as_index=False).sum()
b
A | B | C | D | |
---|---|---|---|---|
0 | bar | one | -0.905349 | -0.054870 |
1 | bar | three | 0.637305 | -0.046351 |
2 | bar | two | -0.771132 | 0.196547 |
3 | foo | one | 0.564975 | 0.972044 |
4 | foo | three | 0.228275 | -1.164593 |
5 | foo | two | 1.069844 | -1.478862 |
Pandas数据规整相关推荐
- python数据分析及可视化(九)pandas数据规整(分组聚合、数据透视表、时间序列、数据分析流程)
作业 拼接多个csv文件 去除重复数据,重新索引 自动挡和手动挡数目 计算每个城市二手车数量 统计每个汽车品牌平均售价价格(不是原价) 分组与聚合 如下表所示,5行3列的表格,5种水果分别对应的名称, ...
- Python数据分析—Pandas数据规整
数据规整 一.索引 二.分层索引 三.数据合并 1.merge方法 2.join方法 3.concat方法 四.数据分组与聚合 一.索引 # 查看索引 df.index # 指定索引,但个数必须保持一 ...
- pandas 数据规整化 —— 合并、清理与转换
日期处理: pd.to_datetime() df.reset_index():增加属性名为 index 的属性列 >> data = [[1,2,3],[4,5,6]] >> ...
- 3-10 Pandas的数据规整
数据分析工具pandas 10. Pandas的数据规整 10.1 层次化索引 10.2 数据连接 10.2.1 pd.merge 10.2.2 pd.concat 10.3 重塑 10.3.1 st ...
- 3.4 利用Pandas进行数据清洗和数据规整化
本文章是3.4.3.5的内容,如果想要源代码和数据可以看以下链接: https://download.csdn.net/download/Ahaha_biancheng/83338868 文章目录 3 ...
- python数据分析第七章实训3_《利用python进行数据分析》读书笔记--第七章 数据规整化:清理、转换、合并、重塑(二)...
3.数据转换 介绍完数据的重排之后,下面介绍数据的过滤.清理.以及其他转换工作. 去重 #-*- encoding: utf-8 -*- importnumpy as npimportpandas a ...
- 【Python】merge:数据规整化:清理、转换、合并、重塑
merge:数据规整化:清理.转换.合并.重塑 目录: 文章目录 @[toc] 一 合并数据集 1 数据库风格的DataFrame合并 2 索引上的合并 3 轴向连接 4 合并重叠数据 二 重塑和轴向 ...
- 类的应用python平均分_【数据科学系统学习】Python # 数据分析基本操作[四] 数据规整化和数据聚合与分组运算...
本篇内容为整理<利用Python进行数据分析>,博主使用代码为 Python3,部分内容和书本有出入. 在前几篇中我们介绍了 NumPy.pandas.matplotlib 三个库的基本操 ...
- 利用Python进行数据分析--数据规整化:清理、转换、合并、重塑
转载自:http://blog.csdn.net/ssw_1990/article/details/26565069 1.数据转换 目前为止介绍的都是数据的重排.另一类重要操作则是过滤.清理以及其他的 ...
最新文章
- 25.怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块
- oracle 数据库跨库查询方法
- 新手学信息检索2:倒排表与存储
- 配置方法_经济权配置账户与六类经济项——经济权配置方法认识
- 基本类型和引用类型的值 函数的传递参数
- 2vec需要归一化吗_LTSM模型预测数据如何归一化?(知乎回答)
- 3_4 IteratorMode 迭代器模式
- mysql auto_increment 原理_[Mysql]mysql原理之Auto_increment
- zencart 后台 tool-define page editor define define_main_page.php
- rgb 灰色_金属+RGB+无线,我要买爆这款海盗船VIRTUOSO鉴赏家游戏耳机
- java socket发送定长报文_socket编程
- Mysql事务探索及其在Django中的实践(二)
- debian 安装 php,Ubuntu/Debian上安装Nginx+php环境详细教程
- Python入门--获取指定目录下的所有.py文件
- WCF编程系列(七)信道及信道工厂
- 开发一个软件需要哪些角色
- 完美数简介及算法分析
- Java 战国大富翁,中国历史上二十大富豪 个个富可敌国
- SylixOS学习二—— SylixOS认识和使用_SylixOS虚拟机使用
- 阿里云---云开发平台的创建与部署
热门文章
- 八大操作系统掌门人齐聚 1024 程序员节,千年岳麓见证开源新时代
- .NET 页面间传值的几种方法
- Eclipse的java代码出错:The import org.apache cannot be resolved
- 浅谈k8s cni 插件
- 如何释放 DB_RECOVERY_FILE_DEST_SIZE
- 深入理解ES6 - var-let-const
- spark1.1.0学习路线
- CentOS6.4安装nginx1.4
- 201109080909
- 阿里开源分布式事务解决方案 Fescar 全解析