详解pandas中Series()和DataFrame()的区别与联系
作者:我是小蚂蚁 发布时间:2023-06-24 23:05:46
标签:pandas,Series(),DataFrame()
区别:
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


猜你喜欢
- 1.apache配置文件中打开vhost的配置LoadModule vhost_alias_module modules/mod_vhost
- 引言skimage提供了io模块,顾名思义,这个模块是用来图片输入输出操作的。为了方便练习,也提供一个data模块,里面嵌套了一些示例图片,
- 本文是对pandas官方网站上《10Minutes to pandas》的一个简单的翻译,原文在这里。这篇文章是对pandas的一个简单的介
- win7 +Navicat Lite 9+ VMware7在VMware中安装openSUSE11.x mysql5 Navicat Lit
- 有以下两种方式启用警告框的可取消(dismissal)功能:1、通过 data 属性:通过数据 API(Data API)添加可取消功能,只
- 工具/原料win7操作系统MySQLzip格式安装包方法/步骤MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是ms
- 刚看到吴磊同学的一些关于购物车的想法,正巧本人丁学对电子商务这方面比较熟悉,跳出来献丑了,希望对一些同行有些用处。本来想回复到下面的,结果发
- 如果仅仅是定义表格的边框为1(border="1")和边框颜色值(如borderC
- 解决window.open后返回object的错误 <a href="javascript:void(window.open
- 手机控件查看工具uiautomatorviewer工具简介用来扫描和分析Android应用程序的UI控件的工具.如何使用 1.进入
- 用法:mean(matrix,axis=0) 其中 matrix为一个矩阵,axis为参数以m * n矩阵举例:axis 不设置
- 一、在Yii中实现乐观锁乐观锁(optimistic locking)表现出大胆、务实的态度。使用乐观锁的前提是, 实际应用当中,发生冲突的
- 1.今天在看JavaScript学习指南的时候做的课后习题,也因此详细的对函数的传入参数进行比较深入的研究.题目如下:函数如何才能修改其作用
- 在日常Java后端开发过程中,免不了对数据字段的解析,自然就少不了对字符串的操作,这其中就包含了正则表达式这一块的内容,这里面涉及Java包
- 我们在升级系统的时候,经常碰到需要更新服务器端数据结构等操作,之前的方式是通过手工编写alter sql脚本处理,经常会发现遗漏,导致程序发
- map是key-value数据结构,又称为字段或者关联数组。类似其他编程语言的集合一、基本语法var 变量名 map[keyty
- 我就废话不多说了,还是直接看代码吧!import numpyworld_alchol=numpy.genfromtxt("worl
- /* **************************************************************
- python正则模块re中findall和finditer两者相似,但却有很大区别。 两者都可以获取所有的匹配结果,这和searc
- 一,编程环境PyCharm2016,Anaconda3 Python3.6需要安装schedule模块,该模块网址:https://pypi