Python pandas DataFrame 合并
Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本介绍其数据结果之一DataFrame的合并
操作方法
- 01
Pandas中的数据结构 Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。 Time- Series:以时间为索引的Series。 DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。以下的内容主要以DataFrame为主。 Panel :三维的数组,可以理解为DataFrame的容器。 在数据处理时,有时候为了数据整合,需要使用合并功能。
- 02
数据合并将多个DataFrame合并成一个DataFrame。 import pandas as pd from pandas import DataFrame df1=DataFrame({'A':['A0','A1','A2','A3'], 'B':['B0','B1','B2','B3'], 'C':['C0','C1','C2','C3'], 'D':['D0','D1','D2','D3']}, index=[0,1,2,3]) df2=DataFrame({'A':['A4','A5','A6','A7'], 'B':['B4','B5','B6','B7'], 'C':['C4','C5','C6','C7'], 'D':['D4','D5','D6','D7']}, index=[4,5,6,7]) df3=DataFrame({'A':['A8','A9','A10','A11'], 'B':['B8','B9','B10','B11'], 'C':['C8','C9','C10','C11'], 'D':['D8','D9','D10','D11']}, index=[8,9,10,11]) frames=[df1,df2,df3] result=pd.concat(frames)
- 03
演示及结果如下 将三个DataFrame合并到一个DataFrame。 使用concat()函数。
- 04
以下是其函数的相关参数。
- 05
result = pd.concat(frames, keys=['x', 'y', 'z']) result result.ix['x'] 将其合并后用索引区分来源于不同DataFrame的数据。
- 06
df4=DataFrame({'B':['B2','B3','B6','B7'], 'D':['D2','D3','D6','D7'], 'F':['F2','F3','F6','F7']}, index=[2,3,6,7]) result=pd.concat([df1,df4],axis=1) result=pd.concat([df1,df4],axis=1,join='inner') concat()默认join参数(default)为outer,为并集(union) 指定为inner时为交集(intersection)