pandas 数据规整化 —— 合并、清理与转换
日期处理:
- pd.to_datetime()
df.reset_index():增加属性名为 index 的属性列
>> data = [[1,2,3],[4,5,6]] >> df = pd.DataFrame(data) >> df.index RangeIndex(start=0, stop=2, step=1) >> df.columns RangeIndex(start=0, stop=3, step=1)>> df.reset_index()index 0 1 2 0 0 1 2 3 1 1 4 5 6
0. 基本处理
- 修改列名:
df.rename({'old_col_name': 'new_col_name'}, inplace=True)
1. 清理
- pd.isnull()/pd.notnull():用于检测缺失数据;
- drop(labels, axis=0, level=None, inplace=False, errors=‘raise’)
- 注意第一个参数(labels)与第二个参数(axis)的关系,要删除的 labels 必须在 axis 上;
- 也即默认情况下,axis=0,为纵轴(也即第一列,行名),axis=1,则为横轴(第一行,为行名)
- 注意第一个参数(labels)与第二个参数(axis)的关系,要删除的 labels 必须在 axis 上;
2. 合并(merge)
>> df1 = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'], 'data1': range(7)})key data1
0 b 0
1 b 1
2 a 2
3 c 3
4 a 4
5 a 5
6 b 6
>> df2 = pd.DataFrame({'key':['a', 'b', 'd', 'a'], 'data2': range(4)})key data2
0 a 0
1 b 1
2 d 2
3 a 3
数据集的合并(merge)或链接(join)运算可通过一个或多个键将行连接起来。如果不显式地指定,merge 会默认将重叠列的列名作键。
>> pd.merge(df1, df2, on='key')# 等价于 pd.merge(df1, df2)key data1 data2
0 b 0 1
1 b 1 1
2 b 6 1
3 a 2 0
4 a 2 3
5 a 4 0
6 a 4 3
7 a 5 0
8 a 5 3
注意:
默认连接方式为:inner(
how='inner'
),也即- df1 中的
c
,df2 中的d
均未出现在 merge 后的 df 中; - 对于
b
,df2
是一对一的关系;对于a
,df2
中一对2,最终拼接的形式是笛卡尔积的形式;
- df1 中的
此外还有
right/left/outer
(外链接取的是键的并集,组合了左连接和右连接的效果:>> pd.merge(df1, df2, on='key', how='left')key data1 data2 0 b 0 1.0 1 b 1 1.0 2 a 2 0.0 3 a 2 3.0 4 c 3 NaN 5 a 4 0.0 6 a 4 3.0 7 a 5 0.0 8 a 5 3.0 9 b 6 1.0
pandas 数据规整化 —— 合并、清理与转换相关推荐
- 【Python】merge:数据规整化:清理、转换、合并、重塑
merge:数据规整化:清理.转换.合并.重塑 目录: 文章目录 @[toc] 一 合并数据集 1 数据库风格的DataFrame合并 2 索引上的合并 3 轴向连接 4 合并重叠数据 二 重塑和轴向 ...
- 数据规整化:清理、转换、合并、重塑 《用Python进行数据分析》读书笔记第7章
数据规整化:清理.转换.合并.重塑 第7章 合并数据集 pandas.merge可以根据一个或多个键将不同DataFrame中的行连接起来. pandas.concat可以沿着一条轴将多个对象堆叠到一 ...
- Python之数据规整化:清理、转换、合并、重塑
Python之数据规整化:清理.转换.合并.重塑 1. 合并数据集 pandas.merge可根据一个或者多个不同DataFrame中的行连接起来. pandas.concat可以沿着一条轴将多个对象 ...
- python数据分析第七章实训3_《利用python进行数据分析》读书笔记--第七章 数据规整化:清理、转换、合并、重塑(二)...
3.数据转换 介绍完数据的重排之后,下面介绍数据的过滤.清理.以及其他转换工作. 去重 #-*- encoding: utf-8 -*- importnumpy as npimportpandas a ...
- 利用Python进行数据分析--数据规整化:清理、转换、合并、重塑
转载自:http://blog.csdn.net/ssw_1990/article/details/26565069 1.数据转换 目前为止介绍的都是数据的重排.另一类重要操作则是过滤.清理以及其他的 ...
- 利用python进入数据分析之数据规整化:清理、转换、合并、重塑(二)
数据转换 移除重复数据 In [106]: data = DataFrame({'k1': ['one'] * 3 + ['two'] * 4,'k2': [1, 1, 2, 3, 3, 4, 4]} ...
- python数据分析第七章实训3_《利用python进行数据分析》读书笔记--第七章 数据规整化:清理、转换、合并、重塑(三)...
#-*- encoding: utf-8 -*- importnumpy as npimportpandas as pdimportmatplotlib.pyplot as pltfrom panda ...
- 类的应用python平均分_【数据科学系统学习】Python # 数据分析基本操作[四] 数据规整化和数据聚合与分组运算...
本篇内容为整理<利用Python进行数据分析>,博主使用代码为 Python3,部分内容和书本有出入. 在前几篇中我们介绍了 NumPy.pandas.matplotlib 三个库的基本操 ...
- 3.4 利用Pandas进行数据清洗和数据规整化
本文章是3.4.3.5的内容,如果想要源代码和数据可以看以下链接: https://download.csdn.net/download/Ahaha_biancheng/83338868 文章目录 3 ...
最新文章
- 在hadoop上运行python_hadoop上运行python程序
- R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(构建自定义函数配置显示均值、标准偏差)实战
- 车小米O2O保养平台搭建完毕
- CodeForces 864E Fire dp递推
- TCP穿透NAT的C++版
- 上周热点回顾(10.25-10.31)
- 中求解数组中元素个数_JavaScript之学underscore在数组中查找指定元素
- 相同的树Python解法
- Acer 4750 安装黑苹果_黑苹果系统安装通用教程图文版
- 怎样把文件传到华为云服务器,如何把文件传到云服务器上
- 20145328 《Java程序设计》第7周学习总结
- HTML 表格的基本布局
- WebBrowser控件的高级定制+mshtml
- python3短信接口
- HTML元素拖拽功能的实现
- 关于浮点误差,1为何变成0.999999 ?
- android 更新相册,Android 图片存入系统相册更新显示实例详解
- c 语言图片转字符画,图片转化为字符画(C#版)
- 一个新进前端小白实习僧的初次探索
- signature=daa3bbe3ad9a7c162ba9d98f8d9e7530,解决select2插件下拉搜索框,输入拼音能够匹配中文汉字的问题...
热门文章
- ibm服务器系统电池型号,IBM服务器_X366型号2003系统恢复
- 如何将html转为report,如何把Html5 Report Viewer添加到Web项目
- c++ arm 图像处理_方案解析丨如何在ARM平台搭建超声波无损探伤系统
- xsync 集群同步脚本介绍(拷贝文件不同的部分)
- Pandas——如何更改DataFrame中的值
- in-source builds are not allowed
- Assembly.Load动态加载程序集而不占用文件
- Tosca new project Repository as MS SQL Server
- 分布式链路追踪(Sleuth、Zipkin)
- 树链剖分边权模板spoj375