欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-06 10:26:28
有时候我们想要的数据合并结果是数据的轴向连接,在pandas中这可以通过concat来实现。操作的对象通常是series。 ipython中的交互代码如下: i...

有时候我们想要的数据合并结果是数据的轴向连接,在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数据进行轴向连接的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。