对于文件来说,读取只是最初级的要求,那我们要对文件进行数据分析,首先就应该要知道,pandas会将我们熟悉的文件转换成了什么形式的数据结构,以便于后续的操作

数据结构

pandas对文件一共有两种数据结构的划分,第一种是二维的DataFrame,第二种是一维的Series

简单的来说就是,你看到的表,就是DataFrame,而构成表的每一行或者每一列都是Series

Series

列表创建Series

仅仅有数据列表就可以产生最简单的Series

l = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
s1 = pd.Series(l)
print(s1)
0    a
1 b
2 c
3 d
4 e
5 f
6 g
dtype: object # 左侧为索引,右侧为数据

根据上篇文章我们可以获取这个Series的索引和数据

print(s1.index)
print(s1.values)
RangeIndex(start=0, stop=7, step=1)
['a' 'b' 'c' 'd' 'e' 'f' 'g']

其实不光可以用数字来进行索引,也可以自定义索引

s1 = pd.Series(l,index=['q','w','e','r','t','y','u'])
q    a
w b
e c
r d
t e
y f
u g
dtype: object

字典创建Series

d = {
'a':1,
'b':2,
'c':3
}
s1 = pd.Series(d)
print(s1)
a    1
b 2
c 3
dtype: int64

字典创建的就会将字典的键默认当做索引

查询数据

跟字典其实是差不多的意思,可以根据索引来查

d = {
'a':1,
'b':2,
'c':3
}
s1 = pd.Series(d)
print(s1['b'])
2

也可以查询一堆数据

d = {
'a':1,
'b':2,
'c':3
}
s1 = pd.Series(d)
print(s1[['b','c']])
b    2
c 3
dtype: int64

DataFrame

既然这是个二维的数据结构,也就意味着,它不止有列索引,同时还应该有行索引

根据多个字典创建DataFrame

d = {
'state':['s1','s2','s3'],
'year':['2020','2019','2018'],
'inp':['a','b','c']
}
s1 = pd.DataFrame(d)
print(s1)
  state  year inp
0 s1 2020 a
1 s2 2019 b
2 s3 2018 c

可以通过上篇文章快速的获取列索引和行索引

d = {
'state':['s1','s2','s3'],
'year':['2020','2019','2018'],
'inp':['a','b','c']
}
s1 = pd.DataFrame(d)
print(s1.index)
print(s1.columns)
RangeIndex(start=0, stop=3, step=1)
Index(['state', 'year', 'inp'], dtype='object')

2.pandas的数据结构的更多相关文章

  1. Pandas 的数据结构

    Pandas的数据结构 导入pandas: 三剑客 from pandas import Series,DataFrame import pandas as pd import numpy as np ...

  2. pandas的数据结构之series

    Pandas的数据结构 1.Series Series是一种类似于一维数组的对象,由下面两个部分组成: index:相关的数据索引标签 values:一组数据(ndarray类型) series的创建 ...

  3. Pandas的使用(3)---Pandas的数据结构

    Pandas的使用(3) Pandas的数据结构 1.Series 2.DataFrame

  4. Pandas之数据结构

    pandas入门 由于最近公司要求做数据分析,pandas每天必用,只能先跳过numpy的学习,先学习大Pandas库 Pandas是基于Numpy构建的,让以Numpy为中心的应用变得更加简单 pa ...

  5. pandas中数据结构-Series

    pandas中数据结构-Series pandas简介 Pandas是一个开源的,BSD许可的Python库,为Python编程语言提供了高性能,易于使用的数据结构和数据分析工具.Python与Pan ...

  6. 02. Pandas 1|数据结构Series、Dataframe

    1."一维数组"Series Pandas数据结构Series:基本概念及创建 s.index  . s.values # Series 数据结构 # Series 是带有标签的一 ...

  7. Python数据分析Pandas库数据结构(一)

    pandas数据结构 1.生成一维矩阵模拟数据 import pandas as pdimport numpy as nps = pd.Series([1,2,3,4,np.nan,9,9])s2 = ...

  8. pandas 的数据结构(Series, DataFrame)

    Pandas 讲解 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标 ...

  9. pandas 的数据结构Series与DataFrame

    pandas中有两个主要的数据结构:Series和DataFrame. [Series] Series是一个一维的类似的数组对象,它包含一个数组数据(任何numpy数据类型)和一个与数组关联的索引. ...

  10. pandas的数据结构

    要使用pandas,需要熟悉它的两个主要的数据结构,Series和DataFrame. Series series是一种类似于以为数组的对象,它由一组数据(各种numpy的数据类型)以及一组与之相关的 ...

随机推荐

  1. JVM的堆内存泄漏排查-性能测试

    JVM异常说明 https://testerhome.com/articles/24259 一文中已介绍了,JVM每个运行时区域--程序计数器 .Java虚拟机栈.本地方法栈.Java堆.方法区.直接 ...

  2. script写在head与写在body中的区别

    咱先说将Javascript写在head里面的情况吧,如果你要在这里面去操控DOM元素,是会报错的,因为浏览器是先执行head标签里面的内容,在执行时你的DOM元素还没有生成.(使用了windows. ...

  3. 从数据库中取时间值,遇到:java.sql.Timestamp cannot be cast to java.lang.Long

    将 java.sql.Timestamp 类型转换为 java.util.Date 类型.二者其实是父子关系,直接 Date d = (Date)时间戳 就可以了. Date d = (Date)时间 ...

  4. 洛谷 P4822 [BJWC2012]冻结

    之前没学分层图,所以先咕了一下hiahiahia. 学完分层图了回来水写题解了. 这道题要用分层图来解.分层图就是在我们决策的时候,再建k层图,一共k+1层,层与层之间是有向边(这个很重要的),权值为 ...

  5. CSRF 跨站请求伪造学习笔记

    参考文章: 漏洞挖掘之CSRF CSRF花式绕过Referer技巧 What-是什么 CSRF(Cross-site request forgery)跨站请求伪造.攻击者通过构造特殊链接或者页面,盗用 ...

  6. 资深前端工程师带你认识网页后缀html、htm、shtml、shtm有什么区别?

    每一个网页或者说是web页都有其固定的后缀名,不同的后缀名对应着不同的文件格式和不同的规则.协议.用法,最常见的web页的后缀名是.html和.htm,但这只是web页最基本的两种文件格式,今天我们来 ...

  7. css sprites(精灵图)如何使用?

    CSS Sprites是一种性能优化技术,一种网页图片应用处理方式:将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能:也被称为css 精灵图. 网页通常包含多个图像.这些包括图标,按钮,徽 ...

  8. 「疫期集训day12」阴雨

    我们走进了泥泞的雨林----阿尔贡森林里艰难前进的士兵 今天考试一般,T1T2签到题没啥好说的,剩下三个小时全肛T3(我脑子有泡,前几天刚做了一道类似T4的难题,公式更难推),9:00->10: ...

  9. Ticket Game思维题

    题目链接 题意: 给你一个n的序列(n=2*k),由数字和?(偶数个)组成,A和B分别操作(B先操作):把?变成一个任意的0-9的数字,如果最后前n/2和后n/2个数字之和相等,则A胜,否则B胜. 分 ...

  10. #pragma comment(linker,"/SECTION:shared,RWS")

    Windows在一个Win32程序的地址空间周围筑了一道墙.通常,一个程序的地址空间中的数据是私有的,对别的程序而言是不可见的.但是执行多个执行实体表示了程序的所有执行实体之间共享数据是毫无问题的.当 ...