数据规整化:清理、转换、合并、重塑
2016-05-31 14:36
393 查看
1.合并数据集
pandas.merge可根据一个或者多个不同DataFrame中的行连接起来。 pandas.concat可以沿着一条轴将多个对象堆叠到一起。
默认情况下concat是在axis=0上工作的,最终产生一个新的Seriesaxis=1是列[/code]实例方法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.4merge的suffixes选项,用于指定附加到左右两个DataFrame对象的重叠列名上的字符串。
3.索引上的合并
DataFrame有merge和join索引合并。可以传入left_index=True或right_index=True)以说明索引应该被用作连接建;由于默认的merge方法是求连接键的交集,因此你可以通过外连接的方式得到他们的并集。
4.重塑和轴向旋转
有许多用于重新排列表格型数据的基础运算。这些函数也称作重塑(reshape)或轴向旋转(pivot)运算。 4.1重塑层次化索引[/code]
层次化索引为DataFrame数据的重排任务提供了良好的一致性方式。主要两种功能:
stack:将数据的列“旋转”为行。
unstack:将数据的行“旋转”为列。
5.数据转换
5.0移动重复数据 DateFrame的duplicated方法返回一个布尔型Series,表示各行是否有重复行,还有一个与此相关的drop_duplicates,它用于返回一个移除了重复行的 DateFrame[code]5.1利用函数或映射进行数据转换
Series的map方法可以接受一个函数或含有映射关系的字典型对象。
5.2替换值
replace可以由一个带替换值组成的列表以及一个替换值
data.replace([-999,-1000],np.nan)
5.3重命名轴索引
pd.cut(ages,bins) [/code]
轴标签也可通函数或映射进行转换,从而得到一个新对象轴还可以被就地修改,而无需新建一个数据结构。
5.4离散化和面元划分
为了便于分析,连续数据常常被分散化或拆分成“面元”(bin)。ages=[20,22,25,71,25,22,23,31,61,45,41,32]bins=[18,25,35,60,100]
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.3pandas中矢量化的字符串函数
实现矢量化的元素获取操作:要么使用str.get,要么使用str属性上使用索引。
相关文章推荐
- js动态获取页面高度
- Android-在应用中使用拖拽教程
- Hibernate-----多条件查询,多对多添加查询案例
- New package not yet registered with the system 解决方法
- 【C语言】数据类型转换导致读取参数错误
- hdu 2433 spfa
- GCD学习之GCD(Grand Central Dispatch)
- 第11周项目5 - 摩托车继承自行车和机动车
- java面向对象编程学习日志【1】第一章
- java裸签名代码
- Android 平滑图片加载和缓存库 Glide 使用详解
- 淘宝的消息中间件(2013)
- C++ 中的关键字explicit
- 当使用apm遇到问题时常用的apm命令
- java正则表达式
- hiho第七周 完全背包
- 理解Docker跨多主机容器网络
- Android加载图片你必须知道的技巧
- [WCF]IIS部署到新系统
- openstack setup demo Image service