详解pandas中Series()和DataFrame()的区别与联系

作者:我是小蚂蚁 时间:2023-06-24 23:05:46 

区别:

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

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

联系:

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

代码演示:

import numpy as np
import pandas as pd
from pandas import Series, DataFrame

data = {'Country':['Belgium', 'India', 'Brazil'],
        'Capital':['Brussels', 'New Delhi', 'Brasilia'],
        'Population':[11190846, 1303171035, 207847528]
        }

# Series

s1 = Series(data['Country'])
print(s1)
'''
0    Belgium
1      India
2     Brazil
dtype: object
'''
print(s1.values) # 类型: <class 'numpy.ndarray'>
'''
['Belgium' 'India' 'Brazil']
'''
print(s1.index)
'''
RangeIndex(start=0, stop=3, step=1)
'''

# 为Series指定index
s1 = Series(data['Country'], index=['A', 'B', 'C'])
print(s1)
''' 索引更改
A    Belgium
B      India
C     Brazil
dtype: object
'''

# Dataframe

df1 = pd.DataFrame(data)
print(df1)
'''
     Capital  Country  Population
0   Brussels  Belgium    11190846
1  New Delhi    India  1303171035
2   Brasilia   Brazil   207847528
'''

print(df1['Capital']) # 类型: series
'''
0     Brussels
1    New Delhi
2     Brasilia
Name: Capital, dtype: object
'''

print(df1.iterrows()) # 返回 一个 生成器 <generator object DataFrame.iterrows at 0x7f226a67b728>

for row in df1.iterrows():
    print(row)
    print(row[0], row[1])
    print(type(row[0]), type(row[1]))
    break
''' 
print(row) 返回了一个元组
(0, Capital       Brussels
Country        Belgium
Population    11190846
Name: 0, dtype: object)
'''
'''
print(row[0], row[1]) 的返回值
0 Capital       Brussels
Country        Belgium
Population    11190846
Name: 0, dtype: object
'''
'''
print(type(row[0]), type(row[1]))
<class 'int'> <class 'pandas.core.series.Series'>

row[1] 是一个 series,而且原来的列名,现在变成了现在的索引名,
由此可见,dataframe是由多个行列交错的series组成。
'''

#现在可以构建几个series
s1 = pd.Series(data['Country'])
s2 = pd.Series(data['Capital'])
s3 = pd.Series(data['Population'])
df_new = pd.DataFrame([s1, s2, s3], index=['Country', 'Captital', 'Population'])
print(df_new)
'''
                   0           1          2
Country      Belgium       India     Brazil
Captital    Brussels   New Delhi   Brasilia
Population  11190846  1303171035  207847528

可以看到,行和列都是颠倒的,因此需要进行一下转置
'''

print(df_new.T)
'''
   Country   Captital  Population
0  Belgium   Brussels    11190846
1    India  New Delhi  1303171035
2   Brazil   Brasilia   207847528

'''

'''
总结:
    series, 就是一个一维 的数据结构,它是由index和value组成。
    dataframe, 是一个二维数据结构,它由多个series构成。
'''

来源:https://blog.csdn.net/missyougoon/article/details/83301712

标签:pandas,Series(),DataFrame()
0
投稿

猜你喜欢

  • Mysql DNS反向解析导致连接超时过程分析(skip-name-resolve)

    2024-01-18 03:00:59
  • python登陆asp网站页面的实现代码

    2021-01-20 00:03:31
  • python实现求解列表中元素的排列和组合问题

    2022-03-18 00:05:08
  • 悟道WEB标准:统一思想,遵循标准

    2009-10-11 16:38:00
  • 一些相见恨晚的 JavaScript 技巧

    2024-04-18 10:10:53
  • Python实例一个类背后发生了什么

    2023-05-19 05:44:18
  • php动态生成版权所有信息的方法

    2024-05-02 17:17:30
  • python虚拟环境virtualenv的使用教程

    2021-03-08 00:50:17
  • 将有安全问题的SQL过程删除,比较全面

    2007-08-06 14:46:00
  • vue获取input值的三种常用写法

    2024-04-28 09:27:06
  • 百度编辑器二次开发常用手记整理小结

    2023-10-22 20:28:33
  • 教你制作1px边框表格的四种方法

    2008-10-04 10:16:00
  • python基础之Socket套接字详解

    2023-04-11 01:52:52
  • 教你利用python的matplotlib(pyplot)绘制折线图和柱状图

    2022-02-25 17:30:49
  • 虾米网今年三月所用加密解密函数

    2010-08-09 12:54:00
  • 利用Python3分析sitemap.xml并抓取导出全站链接详解

    2022-01-26 16:27:08
  • 解决pycharm无法识别本地site-packages的问题

    2022-03-12 19:31:13
  • 如何禁止搜索引擎收录你的网站

    2008-10-20 12:57:00
  • 带例子详解Sql中Union和Union ALL的区别

    2024-01-23 01:45:00
  • 在Python中使用成员运算符的示例

    2023-12-12 01:36:20
  • asp之家 网络编程 m.aspxhome.com