对于文件来说,读取只是最初级的要求,那我们要对文件进行数据分析,首先就应该要知道,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. [Debian]查看进程、终止进程

    # jobs -l [1]+ 115 Running nohup /usr/local/bin/dotnet/dotnet/dotnet /usr/share/nginx/asp/publish/Wi ...

  2. hive如何获取当前时间

    在大多数的sql中获取当前时间都是用now()函数即可,hive获取当前时间的函数与sql 不一样 在impala中执行now()函数时是可以通过的 然而在hive中执行now()函数却报错: hiv ...

  3. 07 . Kubernetes之Service

    kubernetes有三种网络 1. Node Network 2. Pod Network 3. Cluster Network Service-网络代理模式 **userspce: 1.1- ** ...

  4. css3条件判断_@supports的用法/Window.CSS.supports()的使用

    为了判断浏览器是否支持css3的一些新属性样式,当不兼容该样式的时候,我们可以更优雅的降级处理.这就需要使用到css3的条件判断功能:在css中支持@supports标记.或者在js中使用CSS.su ...

  5. Github和Azure DevOps的代码同步

    [前言]Github和Azure DevOps都提供了Git代码库功能,那么有没有办法将两边的代码库进行同步呢,答案是肯定的.这里的操作我都是用Azure DevOps的Pipelines功能来完成的 ...

  6. Django---进阶4

    目录 CBV源码剖析 模版语法传值 过滤器(过滤器只能最多有两个参数) 标签 自定义过滤器.标签.inclusion_tag 模版的继承 模版的导入 作业 CBV源码剖析 # 你自己不要修改源码 除了 ...

  7. Mysql常用sql语句(24)- delete 删除数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 delete 也属于DML语句(数据操纵语句) ...

  8. Elasticsearch 内存配置应用案例

    Elasticsearch 内存配置 有三个可选项: 你主要做全文检索吗?考虑给 Elasticsearch 4 - 32 GB 的内存, 让 Lucene 通过操作系统文件缓存来利用余下的内存.那些 ...

  9. requests接口自动化2-url里不带参数的get请求

    最常用的是get,post请求,然后是put,delete,其他方法很少用 1. get请求几种方式 1.1.url里不带参数的get请求 接口请求fiddler返回内容: import reques ...

  10. java 面向对象(二十六):枚举类的使用

    1. 枚举类的说明:* 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类* 2.当需要定义一组常量时,强烈建议使用枚举类* 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. ...