• 日期处理:

    • 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,则为横轴(第一行,为行名)

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 中;
    • 对于 bdf2是一对一的关系;对于 adf2中一对2,最终拼接的形式是笛卡尔积的形式;
  • 此外还有 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  数据规整化 —— 合并、清理与转换相关推荐

  1. 【Python】merge:数据规整化:清理、转换、合并、重塑

    merge:数据规整化:清理.转换.合并.重塑 目录: 文章目录 @[toc] 一 合并数据集 1 数据库风格的DataFrame合并 2 索引上的合并 3 轴向连接 4 合并重叠数据 二 重塑和轴向 ...

  2. 数据规整化:清理、转换、合并、重塑 《用Python进行数据分析》读书笔记第7章

    数据规整化:清理.转换.合并.重塑 第7章 合并数据集 pandas.merge可以根据一个或多个键将不同DataFrame中的行连接起来. pandas.concat可以沿着一条轴将多个对象堆叠到一 ...

  3. Python之数据规整化:清理、转换、合并、重塑

    Python之数据规整化:清理.转换.合并.重塑 1. 合并数据集 pandas.merge可根据一个或者多个不同DataFrame中的行连接起来. pandas.concat可以沿着一条轴将多个对象 ...

  4. python数据分析第七章实训3_《利用python进行数据分析》读书笔记--第七章 数据规整化:清理、转换、合并、重塑(二)...

    3.数据转换 介绍完数据的重排之后,下面介绍数据的过滤.清理.以及其他转换工作. 去重 #-*- encoding: utf-8 -*- importnumpy as npimportpandas a ...

  5. 利用Python进行数据分析--数据规整化:清理、转换、合并、重塑

    转载自:http://blog.csdn.net/ssw_1990/article/details/26565069 1.数据转换 目前为止介绍的都是数据的重排.另一类重要操作则是过滤.清理以及其他的 ...

  6. 利用python进入数据分析之数据规整化:清理、转换、合并、重塑(二)

    数据转换 移除重复数据 In [106]: data = DataFrame({'k1': ['one'] * 3 + ['two'] * 4,'k2': [1, 1, 2, 3, 3, 4, 4]} ...

  7. python数据分析第七章实训3_《利用python进行数据分析》读书笔记--第七章 数据规整化:清理、转换、合并、重塑(三)...

    #-*- encoding: utf-8 -*- importnumpy as npimportpandas as pdimportmatplotlib.pyplot as pltfrom panda ...

  8. 类的应用python平均分_【数据科学系统学习】Python # 数据分析基本操作[四] 数据规整化和数据聚合与分组运算...

    本篇内容为整理<利用Python进行数据分析>,博主使用代码为 Python3,部分内容和书本有出入. 在前几篇中我们介绍了 NumPy.pandas.matplotlib 三个库的基本操 ...

  9. 3.4 利用Pandas进行数据清洗和数据规整化

    本文章是3.4.3.5的内容,如果想要源代码和数据可以看以下链接: https://download.csdn.net/download/Ahaha_biancheng/83338868 文章目录 3 ...

最新文章

  1. 在hadoop上运行python_hadoop上运行python程序
  2. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(构建自定义函数配置显示均值、标准偏差)实战
  3. 车小米O2O保养平台搭建完毕
  4. CodeForces 864E Fire dp递推
  5. TCP穿透NAT的C++版
  6. 上周热点回顾(10.25-10.31)
  7. 中求解数组中元素个数_JavaScript之学underscore在数组中查找指定元素
  8. 相同的树Python解法
  9. Acer 4750 安装黑苹果_黑苹果系统安装通用教程图文版
  10. 怎样把文件传到华为云服务器,如何把文件传到云服务器上
  11. 20145328 《Java程序设计》第7周学习总结
  12. HTML 表格的基本布局
  13. WebBrowser控件的高级定制+mshtml
  14. python3短信接口
  15. HTML元素拖拽功能的实现
  16. 关于浮点误差,1为何变成0.999999 ?
  17. android 更新相册,Android 图片存入系统相册更新显示实例详解
  18. c 语言图片转字符画,图片转化为字符画(C#版)
  19. 一个新进前端小白实习僧的初次探索
  20. signature=daa3bbe3ad9a7c162ba9d98f8d9e7530,解决select2插件下拉搜索框,输入拼音能够匹配中文汉字的问题...

热门文章

  1. ibm服务器系统电池型号,IBM服务器_X366型号2003系统恢复
  2. 如何将html转为report,如何把Html5 Report Viewer添加到Web项目
  3. c++ arm 图像处理_方案解析丨如何在ARM平台搭建超声波无损探伤系统
  4. xsync 集群同步脚本介绍(拷贝文件不同的部分)
  5. Pandas——如何更改DataFrame中的值
  6. in-source builds are not allowed
  7. Assembly.Load动态加载程序集而不占用文件
  8. Tosca new project Repository as MS SQL Server
  9. 分布式链路追踪(Sleuth、Zipkin)
  10. 树链剖分边权模板spoj375