您的位置: 网站首页> Pandas教程> 当前文章

pandas把Series组合成DataFrame

老董-我爱我家房产SEO2020-12-19187围观,138赞

  pandas如何把Series组合成DataFrame呢?这个要分情况而定,可以用pd.DataFrame()方式组合,也可以用concat函数。

  pd.DataFrame()的方式可以让Series的索引变成DataFrame的行索引或者列索引。

  1、Series索引变成行索引

# -*- coding: utf-8 -*-
import pandas as pd

s1 = pd.Series([1,2,3],index=['a','b','c'],name='A')
s2 = pd.Series([11,22,33],index=['a','b','c'],name= 'B')
s3 = pd.Series([1111,222,333],index=['a','b','c'],name = 'C')
df = pd.DataFrame({s1.name:s1,s2.name:s2,s3.name:s3})
print(df)

   A   B     C
a  1  11  1111
b  2  22   222
c  3  33   333


  2、Series索引变成列索引

# -*- coding: utf-8 -*-
import pandas as pd

s1 = pd.Series([1,2,3],index=['a','b','c'],name='A')
s2 = pd.Series([11,22,33],index=['a','b','c'],name= 'B')
s3 = pd.Series([1111,222,333],index=['a','b','c'],name = 'C')
df = pd.DataFrame([s1,s2,s3])
print(df)
      a    b    c
A     1    2    3
B    11   22   33
C  1111  222  333


  3、concat函数

# -*- coding: utf-8 -*-
import pandas as pd

s1 = pd.Series([1, 2, 3], index=['a', 'b', 'c'],name='A')
s2 = pd.Series([11, 22, 33], index=['a', 'b', 'c'],name='B')
s3 = pd.Series([1111, 222, 333], index=['a', 'b', 'c'],name='C')
df = pd.DataFrame([s1, s2, s3])

df = pd.concat([s1,s2,s3],axis=1) # 左右合并
print(df)
print('------------')
df = pd.concat([s1,s2,s3]) # 上下合并
print(df)
   A   B     C
a  1  11  1111
b  2  22   222
c  3  33   333
------------
a       1
b       2
c       3
a      11
b      22
c      33
a    1111
b     222
c     333
dtype: int64

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会

文章评论

    pandas把Series组合成DataFrame文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 客服微信:a772483200