关闭

数据规整化:清理、转换、合并、重塑

632人阅读 评论(0) 收藏 举报
分类:

1. 合并数据集

pandas.merge可根据一个或者多个不同DataFrame中的行连接起来。
pandas.concat可以沿着一条轴将多个对象堆叠到一起。
认情况下  concat 是在axis=0上工作的,最终产生一个新的Series  axis=1是列 
实例方法combine_first可以将重复数据编接在一起,用一个对象中的值填充另一个对象中的缺失值。

2. 数据风格的DataFrame合并操作

2.1 数据集的合并(merge)或连接(jion)运算时通过一个或多个键将行链接起来的。如果没有指定,merge就会将重叠列的列名当做键,最好显示指定一下。
pd.merge(df1,df2,on='key')
2.2 默认情况下,merge做的是"inner"连接,结果中的键是交集。其他方式有“left”、“right”、“outer”。外连接求取的是键的并集,组合了左连接和右连接。
2.3 都对的的连接是行的笛卡尔积。
2.4 merge的suffixes选项,用于指定附加到左右两个DataFrame对象的重叠列名上的字符串。

3. 索引上的合并

DataFrame有merge和join索引合并。可以传入left_index=True或right_index=True)以说明索引应该被用作连接建;由于默认的merge方法是求连接键的交集,因此你可以通过外连接的方式得到他们的并集。

4. 重塑和轴向旋转

有许多用于重新排列表格型数据的基础运算。这些函数也称作重塑(reshape)或轴向旋转(pivot)运算。
4.1 重塑层次化索引     
层次化索引为DataFrame数据的重排任务提供了良好的一致性方式。主要两种功能:
    stack:将数据的列“旋转”为行。
    unstack:将数据的行“旋转”为列。

5. 数据转换

   5.0移动重复数据  DateFrame的duplicated方法返回一个布尔型Series,表示各行是否有重复行,还有一个与此相关的drop_duplicates,它用于返回一个移除了重复行的      DateFrame
5.1 利用函数或映射进行数据转换
Series的map方法可以接受一个函数或含有映射关系的字典型对象。
5.2 替换值
replace可以由一个带替换值组成的列表以及一个替换值
data.replace([-999,-1000],np.nan)
5.3 重命名轴索引
轴标签也可通函数或映射进行转换,从而得到一个新对象轴还可以被就地修改,而无需新建一个数据结构。
5.4 离散化和面元划分
为了便于分析,连续数据常常被分散化或拆分成“面元”(bin)。ages=[20,22,25,71,25,22,23,31,61,45,41,32] bins=[18,25,35,60,100] pd.cut(ages,bins) 
 pandas的cut函数
5.5 检测和过滤异常值
异常值的过滤或变换运算很大程度上其实就是数组的运算。np.pandom.seed(123456)    data[(np.ads(data)>0).any(1)]

  6. 字符串操作

6.1 字符串对象方法
split以逗号分割的字符串可以拆分成数段。
字符串“::”的jion方法以冒号分隔符的形式连接起来。
6.2 正则表达式
描述一个或多个空白符的regex是\s+
创建可重用的regex对象:
regex = re.complie('\s+')
regex.split(text)
6.3 pandas中矢量化的字符串函数
实现矢量化的元素获取操作:要么使用str.get,要么使用str属性上使用索引。
0
0
查看评论

数据规整化

摘自《利用Python进行数据分析》——Wes Mckinney
  • hustqb
  • hustqb
  • 2017-01-11 20:27
  • 446

数据规整化:清理、转换、合并、重塑

import pandas as pd import numpy as np from pandas import DataFrame from pandas import Series1.合并数据集 pd.merge():各种参数的使用 df1 = DataFrame({'key'...
  • AsuraDong
  • AsuraDong
  • 2017-10-04 13:15
  • 117

数据规整化:清理、转换、合并、重塑

1. 合并数据集 pandas.merge可根据一个或者多个不同DataFrame中的行连接起来。 pandas.concat可以沿着一条轴将多个对象堆叠到一起。默认情况下 concat 是在axis=0上工作的,最终产生一个新的Series axis=1是列 实例方法combine_firs...
  • qq_24338883
  • qq_24338883
  • 2016-05-31 14:36
  • 632

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

写在前面的话:实例中的所有数据都是在GitHub上下载的,打包下载即可。 地址是:http://github.com/pydata/pydata-book还有一定要说明的:我使用的是Python2.7,书中的代码有一些有错误,我使用自己的2.7版本调通。# coding: utf-8 from ...
  • wangshuang1631
  • wangshuang1631
  • 2017-08-09 15:53
  • 2347

数据规整化:清理,转换,合并,重塑

简介数据分析和建模方面的大量编程工作都是用在数据准备上的:加载,清理,转换以及重塑。有时候,存放在文件或数据库中的数句柄不能满足你的数据处理应用的要求。许多人都选择使用通用编程语言(如Python,perl,R或Java)或UNIX文本处理工具(如sed或awk)对数据格式进行专门处理。幸运的是,p...
  • faadfafasd
  • faadfafasd
  • 2016-03-01 16:43
  • 729

python数据分析第8天 数据规整化:清理,转换,合并,重塑

合并数据集pandas可以通过内置方式进行合并pandas.merge  根据键不同  将DataFrame中的行连接起来pandas.concat沿着 一条轴将多个对象堆叠到一起实例方法  combine_first 可以将重复数据编接在一起数据库风格的DataFra...
  • qq_41471281
  • qq_41471281
  • 2018-02-09 19:24
  • 3

数据规整化

一:合并  df1=DataFrame({'key':['b','b','a','c','a','a','b'],      &...
  • qq_29064443
  • qq_29064443
  • 2018-01-25 19:06
  • 5

chapter7-数据规整化:清理、转换、合并、重塑

#数据分析和建模方面的大量编程工作都是用在数据准备上的:加载、清理、转换、合并以及重塑。 from pandas import Series,DataFrame import pandas as pd import numpy as np#合并数据集 #pandas对象中的数据可以通过一些内置的方式...
  • xidiancoder
  • xidiancoder
  • 2016-11-24 21:23
  • 281

第7章 数据规整化:清理、转换、合并、重塑(3)

第7章 数据规整化:清理、转换、合并、重塑(3)合并重叠数据Numpy.where()一种矢量化的if-elseimport pandas as pd;import numpy as np from pandas import Series,DataFramea = Series([np.nan,2...
  • cry8e9w
  • cry8e9w
  • 2017-12-06 21:54
  • 27

第7章 数据规整化:清理、转换、合并、重塑(4)

第7章 数据规整化:清理、转换、合并、重塑(4)本章并未给出ldata的来源,可用macrodata.csv转出可用数据。import pandas as pd import numpy as np import datetime ###后面用到时间处理 from pandas import S...
  • cry8e9w
  • cry8e9w
  • 2017-12-06 21:55
  • 34
    个人资料
    • 访问:26914次
    • 积分:625
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:14篇
    • 译文:0篇
    • 评论:0条