python pandas中对Series数据进行轴向连接的实例

yipeiwu_com6年前Python基础

有时候我们想要的数据合并结果是数据的轴向连接,在pandas中这可以通过concat来实现。操作的对象通常是Series。

Ipython中的交互代码如下:

In [17]: from pandas import Series,DataFrame
In [18]: series1 = Series(range(2),index = ['a','b'])
In [19]: series2 = Series(range(3),index = ['c','d','e'])
In [20]: series3 = Series(range(2),index = ['f','g'])
In [21]: import pandas as pd

进行三个Series的连接:

In [22]: pd.concat([series1,series2,series3])
Out[22]: 
a 0
b 1
c 0
d 1
e 2
f 0
g 1
dtype: int64

默认情况下,pandas执行的是按照axis=0进行连接。如果进行axis=1的连接,结果如下:

In [24]: S1=pd.concat([series1,series2,series3],axis=1)
In [25]: S1
Out[25]: 
 0 1 2
a 0.0 NaN NaN
b 1.0 NaN NaN
c NaN 0.0 NaN
d NaN 1.0 NaN
e NaN 2.0 NaN
f NaN NaN 0.0
g NaN NaN 1.0
In [26]: type(S1)
Out[26]: pandas.core.frame.DataFrame

结果是一个DataFrame,回头再看一下前面的Series的连接后的最终类型:

In [27]: type(pd.concat([series1,series2,series3]))
Out[27]: pandas.core.series.Series

两种方式的结果并不相同,一个结果是Series,另一个则是DataFrame。

In [29]: series3 = Series(range(2),index = ['f','e'])
In [30]: pd.concat([series1,series2,series3])
Out[30]: 
a 0
b 1
c 0
d 1
e 2
f 0
e 1
dtype: int64

从上面的一点测试中可以看出,concat的操作仅仅是单纯的连接,并没有涉及到数据的整合。如果想要进行整合,还是使用merge的方法。

以上这篇python pandas中对Series数据进行轴向连接的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python机器学习之神经网络(二)

python机器学习之神经网络(二)

由于Rosenblatt感知器的局限性,对于非线性分类的效果不理想。为了对线性分类无法区分的数据进行分类,需要构建多层感知器结构对数据进行分类,多层感知器结构如下: 该网络由输入层,...

matlab中实现矩阵删除一行或一列的方法

实例如下所示: >> A=[1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 删除行: >> A...

Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法

Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法

本文实例讲述了Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法。分享给大家供大家参考,具体如下: 统计两个红球和蓝球,哪个组合最多,显示前19组数据 #!/usr/bi...

python快排算法详解

python快排算法详解

快排是python经典算法之一。 1、下面讲解的是什么是快排和快排的图示。 2、快排是一种解决排序问题的运算方法。 3、快排的原理:在数组中任意选择一个数字作为基准,用数组的数据和基...

Pytorch在dataloader类中设置shuffle的随机数种子方式

Pytorch在dataloader类中设置shuffle的随机数种子方式

如题:Pytorch在dataloader类中设置shuffle的随机数种子方式 虽然实验结果差别不大,但是有时候也悬殊两个百分点 想要复现实验结果 发现用到随机数的地方就是datalo...