Pandas 的轴向连接 concat

在pandas里面,另一种数据何必运算也被称为连接(concatenation)、绑定(binding)或堆叠(stacking)。

Numpy的轴向连接, concatenation

Numpy有一个用于合并原始Numpy数组的concatenation函数:

In [4]: arr = np.arange(12).reshape((3, 4))

In [5]: arr
Out[5]:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
In [7]: np.concatenate([arr, arr], axis=1)
Out[7]:
array([[ 0,  1,  2,  3,  0,  1,  2,  3],
       [ 4,  5,  6,  7,  4,  5,  6,  7],
       [ 8,  9, 10, 11,  8,  9, 10, 11]])

pandas --Series--concat函数

需要考虑的问题:

  1. 如果各对象其他轴上的索引不同, 那些轴应该是做并集还是交集?

  2. 结果对象中的分组需要各不相同吗?

  3. 用于连接的轴重要吗?

用concat将值和索引粘合在一起:

默认情况下, concat是在axis=0上工作。如果传入传入axis=1, 则结果就会变成一个DataFrame

求交集

指定索引名称:join_axes

如果参与连接的片段中区分不开。假设你想要在连接轴上创建一个层次化索引。使用keys参数即可达到这个目的:

如果使用unstack()方法呢

concat axis=1方向

如果沿着axis=1对Series进行合并, 则keys就会成为DataFrame的列头:

DataFrame的对象也是一样:

最后考虑一个问题,行索引, 也就是index

In [2]: from pandas import Series, DataFrame                                                                                                                                                                                                    In [3]: import pandas as pd                                                                                                                                                                                                                     In [4]: import numpy as np                                                                                                                                                                                                                      In [5]: df1 = DataFrame(np.random.randn(3, 4), columns=[i for i in "abcd"])                                                                                                                                                                     In [6]: df2 = DataFrame(np.random.randn(2, 3), columns=[i for i in "bda"])                                                                                                                                                                      In [7]: df1                                                                                                             Out[7]:                                                                                                                           a         b         c         d                                                                               0 -1.688676  0.839406 -0.196775  0.864225                                                                               1 -0.145041  1.273715  0.532980  0.648970                                                                               2  0.021084 -1.824193  0.177116 -1.137237                                                                                                                                                                                                       In [8]: df2                                                                                                             Out[8]:                                                                                                                           b         d         a                                                                                         0 -0.418477  0.486801  0.700591                                                                                         1 -1.543646  0.506380  1.407013                                                                                                                          

代码

concat函数的参数

时间: 2024-10-25 11:26:32

Pandas 的轴向连接 concat的相关文章

python数据表的合并(python pandas join() 、merge()和concat()的用法)

merage# pandas提供了一个类似于关系数据库的连接(join)操作的方法<Strong>merage</Strong>,可以根据一个或多个键将不同DataFrame中的行连接起来,语法如下: merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x', '_y'), c

js中数组连接concat()

数组连接concat() concat() 方法用于连接两个或多个数组.此方法返回一个新数组,不改变原来的数组. 语法 arrayObject.concat(array1,array2,...,arrayN) 参数说明: 我们创建一个数组,将把 concat() 中的参数连接到数组 myarr 中,代码如下: <script type="text/javascript"> var mya = new Array(3); mya[0] = "1"; mya

pandas的学习6-合并concat

import pandas as pd import numpy as np ''' pandas处理多组数据的时候往往会要用到数据的合并处理,使用 concat是一种基本的合并方式. 而且concat中有很多参数可以调整,合并成你想要的数据形式. ''' # todo axis (合并方向) # axis=0是预设值,因此未设定任何参数时,函数默认axis=0. #定义资料集 df1 = pd.DataFrame(np.ones((3,4))*0, columns=['a','b','c','

pandas小记:pandas数据规整化

http://blog.csdn.net/pipisorry/article/details/39506169 数据分析和建模方面的大量编程工作都是用在数据准备上的:加载.清理.转换以及重 塑.有时候,存放在文件或数据库中的数据并不能满足数据处理应用的要求. pandas和Python标准库提供了一组高级的.灵活的.高效的核心函数和算法,它们能够轻松地将数据规整化为正确的形式. 数据正则化data normalization pandas.dataframe每行都减去行平均值 use DataF

pandas 新手指引

# 10 Minutes to pandas pandas入门教程,面向新手,如需高级教程,移步[pandas cookbook](http://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook) 按照约定,一般按照如下形式对pandas进行导入 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 使用ipython notebook

利用 Python 进行数据分析(十二)pandas:数据合并

pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法combine_first()方法:合并重叠数据. pandas.merge()方法:数据库风格的合并 例如,通过merge()方法将两个DataFrame合并: on='name'的意思是将name列当作键: 默认情况下,merge做的是内连接(inner),即键的交集. 其他方式还有左连接(lef

Python大数据处理模块Pandas

Python大数据处理模块Pandas [这篇转载自CSDNchengxuyuanyonghu的博客:http://blog.csdn.net/chengxuyuanyonghu/article/details/54956207] 目录 读取数据 索引 选择数据 简单运算 import pandas as pd read_csv to_csv 数据框操作 一            创建对象 二            查看数据 三            选择 四            缺失值处理

pandas数据大发888平台出租规整化:清理、转换、合并、重塑

数据分析和大发888平台出租haozbbs.comQ1446595067建模方面的大量编程工作都是用在数据准备上的:加载.清理.转换以及重塑.许多人选择使用通用编程语言或unix文本处理工具(如sed或awk)对数据格式进行专门处理. 幸运的是,pandas和python标准库提供了一组高级的.灵活的.高效的核心函数和算法,将数据规整化正确的形式. 合并数据集: pandas对象中的数据可以通过一些内置的方式进行合并:(1)pandas.merge可根据一个名多个键将不同DataFrame中的行

使用pandas进行数据预处理01

数据预处理有四种技术:数据合并,数据清洗,数据标准化,以及数据转换. 数据合并技术:(1)横向或纵向堆叠合数据 (2)主键合并数据 (3)重叠合并数据 1.堆叠合并数据: 堆叠就是简单的把两个表拼接在一起,也被称作轴向连接,绑定,或连接.依照连接轴的方向,数据堆叠可分为横向堆叠和纵向堆叠. (1)横向堆叠,即将两个表在x轴向拼接在一起,可以使用concat函数完成.基本语法为pandas.concat().当两个表索引不完全一样时, ,可以使用join参数选择是内连接还是外连接.在内连接的情况下