pandas-02 Series()和DataFrame()的区别与联系

区别:

series,只是一个一维数据结构,它由index和value组成。

dataframe,是一个二维结构,除了拥有index和value之外,还拥有column。

联系:

dataframe由多个series组成,无论是行还是列,单独拆分出来都是一个series。

代码演示:

  1. import numpy as np
  2. import pandas as pd
  3. from pandas import Series, DataFrame
  4. data = {'Country':['Belgium', 'India', 'Brazil'],
  5. 'Capital':['Brussels', 'New Delhi', 'Brasilia'],
  6. 'Population':[11190846, 1303171035, 207847528]
  7. }
  8. # Series
  9. s1 = Series(data['Country'])
  10. print(s1)
  11. '''
  12. 0 Belgium
  13. 1 India
  14. 2 Brazil
  15. dtype: object
  16. '''
  17. print(s1.values) # 类型: <class 'numpy.ndarray'>
  18. '''
  19. ['Belgium' 'India' 'Brazil']
  20. '''
  21. print(s1.index)
  22. '''
  23. RangeIndex(start=0, stop=3, step=1)
  24. '''
  25. # 为Series指定index
  26. s1 = Series(data['Country'], index=['A', 'B', 'C'])
  27. print(s1)
  28. ''' 索引更改
  29. A Belgium
  30. B India
  31. C Brazil
  32. dtype: object
  33. '''
  34. # Dataframe
  35. df1 = pd.DataFrame(data)
  36. print(df1)
  37. '''
  38. Capital Country Population
  39. 0 Brussels Belgium 11190846
  40. 1 New Delhi India 1303171035
  41. 2 Brasilia Brazil 207847528
  42. '''
  43. print(df1['Capital']) # 类型: series
  44. '''
  45. 0 Brussels
  46. 1 New Delhi
  47. 2 Brasilia
  48. Name: Capital, dtype: object
  49. '''
  50. print(df1.iterrows()) # 返回 一个 生成器 <generator object DataFrame.iterrows at 0x7f226a67b728>
  51. for row in df1.iterrows():
  52. print(row)
  53. print(row[0], row[1])
  54. print(type(row[0]), type(row[1]))
  55. break
  56. '''
  57. print(row) 返回了一个元组
  58. (0, Capital Brussels
  59. Country Belgium
  60. Population 11190846
  61. Name: 0, dtype: object)
  62. '''
  63. '''
  64. print(row[0], row[1]) 的返回值
  65. 0 Capital Brussels
  66. Country Belgium
  67. Population 11190846
  68. Name: 0, dtype: object
  69. '''
  70. '''
  71. print(type(row[0]), type(row[1]))
  72. <class 'int'> <class 'pandas.core.series.Series'>
  73. row[1] 是一个 series,而且原来的列名,现在变成了现在的索引名,
  74. 由此可见,dataframe是由多个行列交错的series组成。
  75. '''
  76. # 现在可以 构建几个series
  77. s1 = pd.Series(data['Country'])
  78. s2 = pd.Series(data['Capital'])
  79. s3 = pd.Series(data['Population'])
  80. df_new = pd.DataFrame([s1, s2, s3], index=['Country', 'Captital', 'Population'])
  81. print(df_new)
  82. '''
  83. 0 1 2
  84. Country Belgium India Brazil
  85. Captital Brussels New Delhi Brasilia
  86. Population 11190846 1303171035 207847528
  87. 可以看到,行 和 列 都是颠倒的,因此需要进行一下转置
  88. '''
  89. print(df_new.T)
  90. '''
  91. Country Captital Population
  92. 0 Belgium Brussels 11190846
  93. 1 India New Delhi 1303171035
  94. 2 Brazil Brasilia 207847528
  95. '''
  96. '''
  97. 总结:
  98. series, 就是一个 一维 的数据结构,它是由 index 和 value 组成。
  99. dataframe, 是一个 二维 数据结构,它由多个 series 构成。
  100. '''

pandas-02 Series()和DataFrame()的区别与联系的更多相关文章

  1. Pandas中Series与Dataframe的区别

    1. Series Series通俗来讲就是一维数组,索引(index)为每个元素的下标,值(value)为下标对应的值 例如: arr = ['Tom', 'Nancy', 'Jack', 'Ton ...

  2. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  3. Python之Pandas中Series、DataFrame

    Python之Pandas中Series.DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一 ...

  4. Python之Pandas中Series、DataFrame实践

    Python之Pandas中Series.DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一 ...

  5. Pandas中Series和DataFrame的索引

    在对Series对象和DataFrame对象进行索引的时候要明确这么一个概念:是使用下标进行索引,还是使用关键字进行索引.比如list进行索引的时候使用的是下标,而dict索引的时候使用的是关键字. ...

  6. 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作

    一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...

  7. pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  8. pandas学习series和dataframe基础

    PANDAS 的使用 一.什么是pandas? 1.python Data Analysis Library 或pandas 是基于numpy的一种工具,该工具是为了解决数据分析人物而创建的. 2.p ...

  9. [Python] Pandas 中 Series 和 DataFrame 的用法笔记

    目录 1. Series对象 自定义元素的行标签 使用Series对象定义基于字典创建数据结构 2. DataFrame对象 自定义行标签和列标签 使用DataFrame对象可以基于字典创建数据结构 ...

随机推荐

  1. java 从 PKCS12(比如pfx格式)证书中提取私钥证书(PrivateKey)和受信任的公钥证书(X509Certificate)的序列号(SerialNumber)

    import lombok.Cleanup; import lombok.Getter; import lombok.Setter; import lombok.SneakyThrows; impor ...

  2. Linux创建用户,SFTP只允许访问指定目录

    首先创建用户 useradd lus1passwd lus1 我这里配置lus1这个用户目录,为sftp指向目录,即/home/lus1/ vim /etc/ssh/sshd_config //这个记 ...

  3. Java基础 awt Font 四种字体样式

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  4. layui弹出层layer的area过大被遮挡

     layer弹出窗口在弹出时指定了area,弹出后,如果当前页面(iframe)大小比弹出的窗口小,那么就会出现无法操作弹出窗口的尴尬情况.如图: 弹出窗口比当前页面大,这时,唯有放大整个页面才能看到 ...

  5. mysql删除唯一索引

    在项目中用spring data jpa指定了一个唯一索引: @Entity @Table(name = "t_product") @Getter @Setter @AllArgs ...

  6. Docker网络模式介绍

    一.概述 docker的网络驱动有很多种方式,按照docker官网给出的网络解决方案就有6种,分别是:bridge.host.overlay.macvlan.none.Network plugins, ...

  7. 【SpringBoot】SpringBoot 国际化(七)

    本周介绍SpringBoot项目的国际化是如何处理的,阅读本章前请阅读[SpringBoot]SpringBoot与Thymeleaf模版(六)的相关内容 国际化原理 1.在Spring中有国际化Lo ...

  8. Laya一个莫名其妙的报错laya.pathfinding

    版本2.2.0 莫名其妙,然后论坛查了下 把类库设置,不勾选这玩意就不报错了.

  9. java url 编码

    public static void main(String[] args) throws UnsupportedEncodingException { String encodeUrl = URLE ...

  10. java Random 抢红包算法

    红包有一个总金额和总数量,领的时候随机分配金额. 维护一个剩余总金额和总数量,分配时,如果数量等于1,直接返回总金额,如果大于1,则计算平均值,并设定随机最大值为平均值的两倍,然后取一个随机值,如果随 ...