我是靠谱客的博主 无语蜗牛,最近开发中收集的这篇文章主要介绍python pandas中对Series数据进行轴向连接,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

有时候我们想要的数据合并结果是数据的轴向连接,在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 pandas中对Series数据进行轴向连接所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部