安装pandas:

pip install pandas

  

pandas读取数据:

数据类型 读取方式
csv, tsv, txt pd.read_csv
Excel pd.read_excel
mysql pd.read_sql

1.读取csv文件数据

import pandas as pd

# 文件路径
path = 'C:\\Users\\zhang\\Desktop\\ant-learn-pandas-master\\datas\\titanic\\titanic_test.csv' # 读取数据
ratings = pd.read_csv(path) # 查看数据的形状, (行数,列数)
ratings.shape # 查看列名
ratings.columns # 查看每一列的数据类型
ratings.dtypes # 查看索引列
ratings.index # 查看前几行数据
ratings.head()

  

2.读取txt文件【需要自己指定列的分隔符, 自己定义列名】

path = 'C:\\Users\\zhang\\Desktop\\ant-learn-pandas-master\\mydata.txt'

# 参数解释:
# path:路径
# sep:分隔符
# header=None,文件中没有表头
# names:读取数据后自己定义的表头 字段名 pvnv = pd.read_csv(
path,
sep='\t',
header=None,
names=['pdate', 'pv', 'nv']
)

  

3.读取Excel文件数据

path = 'C:\\Users\\zhang\\Desktop\\ant-learn-pandas-master\\39. pdf_chinese_english.xlsx'

pvuv = pd.read_excel(path)

  

4.读取MySQL数据库的表数据

# 创建数据库连接
import pymysql conn = pymysql.connect(
host = '127.0.0.1',
user = 'root',
password = '123456',
database = 'testdb',
chartset = 'utf8'
) # 读取mytb表的数据
mysql_data = pd.read_sql('select * from mytb', con = conn)

  

5.pandas的数据结构【DataFrame, Series

DataFrame:整个表格数据,二维数据

Series:一行或一列,一维数据

  创建series的三种方式:

方式一:根据列表创建一个简单的series

# 创建一个series s1
s1 = pd.Series([1, 'a', 2.5, 7]) # 获取s1的索引
s1.index # 获取s1的数据
s1.values

  

方式二:创建一个具有标签索引的series【不再使用默认的数字作为索引,而是使用自定义的标签作为索引】

s2 = pd.Series([1, 'a', 2.5, 7], index=['a', 'b', 'c', 'd'])

# 获取s2的索引
s2.index # 获取s2的数据
s2.values

  

方式三:使用字典创建一个series

sdata = {'a': 100, 'b': 200, 'c': 300, 'd': 400}

s3 = pd.Series(sdata)

# 获取s3的索引【sdata中的keys】
s3.index # 获取s3的数据【sdata中的values】
s3.values

  

  查询Series的数据:

# 查看全部
print(s3) # 查看某一个索引的值
s3['a'] # 查看数据类型
type(s3['a']) # 查看多个值
s3[['a', 'b']] # 查看类型
type(s3[['a', 'b']])

  

DataFrame ** 结构【表格类型】:

使用字典创建一个DataFrame:

data = {
'state': [1,2,3,4,5,6],
'year': [1,2,3,4,5,6],
'pop': [1,2,3,4,5,6]
} df = pd.DataFrame(data) # 创建后的表格为:6行3列 # 查看类型
df.dtypes # 查看列名
df.columns # 查看索引
df.index

  

从DataFrame中查询Series:

  • 如果是查询一行、一列,返回的是pd.Series

  • 如果是查询多行、多列,返回的是pd.DataFrame

# 查询一列
df['year'] type(df['year']) # 返回的是pd.Series类型 # 查询多列
df[['year', 'pop']] type(df[['year', 'pop']]) # 返回的是pd.DataFrame类型

  

# 查询一行
# 查询index=1的一行
df.loc[1] type(df.loc[1]) # 返回的是pd.Series类型 # 查询多行
# 查询:第1行-第3行
df.loc[1:3] type(df.loc[1:3]) # 返回的是pd.DataFrame类型

  

Pandas学习之路【1】的更多相关文章

  1. “戏精少女”的pandas学习之路,你该这么学!No.5

    如果文章图片无法观看,请前往CSDN博客观看 https://blog.csdn.net/hihell 戏精博主即将上线 就在上一篇,梦想橡皮擦这位博主经过艰苦的努力 终于能创建一个dataframe ...

  2. pandas学习系列(一):时间序列

    最近参加了天池的一个机场航空人流量预测大赛,需要用时间序列来预测,因此开始使用python的pandas库 发现pandas库功能的确很强大,因此在这记录我的pandas学习之路. # -*- cod ...

  3. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

  4. jQuery学习之路(1)-选择器

    ▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...

  5. Android开发学习之路-RecyclerView滑动删除和拖动排序

    Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...

  6. RPC远程过程调用学习之路(一):用最原始代码还原PRC框架

    RPC: Remote Procedure Call 远程过程调用,即业务的具体实现不是在自己系统中,需要从其他系统中进行调用实现,所以在系统间进行数据交互时经常使用. rpc的实现方式有很多,可以通 ...

  7. webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口

    webService学习之路一:讲解了通过传统方式怎么发布及调用webservice webService学习之路二:讲解了SpringMVC和CXF的集成及快速发布webservice 本篇文章将讲 ...

  8. [精品书单] C#/.NET 学习之路——从入门到放弃

    C#/.NET 学习之路--从入门到放弃 此系列只包含 C#/CLR 学习,不包含应用框架(ASP.NET , WPF , WCF 等)及架构设计学习书籍和资料. C# 入门 <C# 本质论&g ...

  9. Redis——学习之路四(初识主从配置)

    首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...

  10. Redis——学习之路三(初识redis config配置)

    我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息.     ...

随机推荐

  1. 动态库 DLL 封装三:对dll二次封装,并将回调函数放出去,供别人调用

    背景: 我需要对一个dll进行二次封装,其中有一个接口,里面的参数需要传回调函数. 需求: 这个回调函数,我需要开放出去,让别人调用我的dll时,自己写这个回调函数 示例: // 回调原型 VOID ...

  2. MogDB/opengauss触发器简介(1)

    MogDB/opengauss 触发器简介(1) 触发器是对应用动作的响应机制,当应用对一个对象发起 DML 操作时,就会产生一个触发事件(Event).如果该对象上拥有该事件对应的触发器,那么就会检 ...

  3. Leetcode-栈的压入弹出序列

    /* 输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1] 输出:true 解释:我们可以按以下顺序执行: push(1), push(2), push(3), ...

  4. CentOS添加一个新的硬盘分区到挂载的过程

    1.分区 分区工具fdisk用法介绍    fdisk命令参数介绍    p.打印分区表.    n.新建一个新分区.    d.删除一个分区.    q.退出不保存.    w.把分区写进分区表,保 ...

  5. flask售后评分系统

    做软件行业的公司,一般都有专业的售前售后团队,还有客服团队,客服处理用户反馈的问题,会形成工单,然后工单会有一大堆工单流程,涉及工单的内部人员,可能会有赔付啥的,当然,这是有专业的售前.售后.客服团队 ...

  6. Flink Standalone集群部署

    Flink Standalone模式部署集群是最简单的一种部署方式,不依赖于其他的组件,另外还支持YARN/Mesos/Docker等模式下的部署,这里使用的flink版本为最新的稳定版1.9.1版本 ...

  7. 【笔记】报错:numeric or value error: character to number conversion error

    报错:numeric or value error: character to number conversion error 报错如下: 数据库操作错误."2327,13619/v1:65 ...

  8. ARMS 助力羽如贸易打造全链路可观测最佳实践

    简介: 随着奢侈品行业在我国快速发展,跨境电商市场不断扩张.作为电商行业初创企业的上海羽如贸易有限公司(简称羽如贸易)积极进行数字化创新,打破固有零售思维,借助可观测能力有效提升用户体验,为业务飞速增 ...

  9. 【阿里云采购季】3月采购完,IT运维躺赢一年2

    阿里云2020上云采购季正式上线啦!今年的采购季可以逛些啥?    采购季正式期时间: 3月2日-3月31日 在这段时间里,想买啥就买吧,别忘了把想买的产品加入购物车噢,特惠产品叠加购物车满减,更划算 ...

  10. Apache Flink 误用之痛

    摘要:本文根据 Flink Forward 全球在线会议 · 中文精华版整理而成,围绕着项目的开始.需求分析.开发,以及测试.上线.运维整个生命周期展开,介绍了 Apache Flink 实践中的一些 ...