Pandas学习之路【1】
安装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】的更多相关文章
- “戏精少女”的pandas学习之路,你该这么学!No.5
如果文章图片无法观看,请前往CSDN博客观看 https://blog.csdn.net/hihell 戏精博主即将上线 就在上一篇,梦想橡皮擦这位博主经过艰苦的努力 终于能创建一个dataframe ...
- pandas学习系列(一):时间序列
最近参加了天池的一个机场航空人流量预测大赛,需要用时间序列来预测,因此开始使用python的pandas库 发现pandas库功能的确很强大,因此在这记录我的pandas学习之路. # -*- cod ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- jQuery学习之路(1)-选择器
▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...
- Android开发学习之路-RecyclerView滑动删除和拖动排序
Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...
- RPC远程过程调用学习之路(一):用最原始代码还原PRC框架
RPC: Remote Procedure Call 远程过程调用,即业务的具体实现不是在自己系统中,需要从其他系统中进行调用实现,所以在系统间进行数据交互时经常使用. rpc的实现方式有很多,可以通 ...
- webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口
webService学习之路一:讲解了通过传统方式怎么发布及调用webservice webService学习之路二:讲解了SpringMVC和CXF的集成及快速发布webservice 本篇文章将讲 ...
- [精品书单] C#/.NET 学习之路——从入门到放弃
C#/.NET 学习之路--从入门到放弃 此系列只包含 C#/CLR 学习,不包含应用框架(ASP.NET , WPF , WCF 等)及架构设计学习书籍和资料. C# 入门 <C# 本质论&g ...
- Redis——学习之路四(初识主从配置)
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...
- Redis——学习之路三(初识redis config配置)
我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. ...
随机推荐
- 动态库 DLL 封装三:对dll二次封装,并将回调函数放出去,供别人调用
背景: 我需要对一个dll进行二次封装,其中有一个接口,里面的参数需要传回调函数. 需求: 这个回调函数,我需要开放出去,让别人调用我的dll时,自己写这个回调函数 示例: // 回调原型 VOID ...
- MogDB/opengauss触发器简介(1)
MogDB/opengauss 触发器简介(1) 触发器是对应用动作的响应机制,当应用对一个对象发起 DML 操作时,就会产生一个触发事件(Event).如果该对象上拥有该事件对应的触发器,那么就会检 ...
- Leetcode-栈的压入弹出序列
/* 输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1] 输出:true 解释:我们可以按以下顺序执行: push(1), push(2), push(3), ...
- CentOS添加一个新的硬盘分区到挂载的过程
1.分区 分区工具fdisk用法介绍 fdisk命令参数介绍 p.打印分区表. n.新建一个新分区. d.删除一个分区. q.退出不保存. w.把分区写进分区表,保 ...
- flask售后评分系统
做软件行业的公司,一般都有专业的售前售后团队,还有客服团队,客服处理用户反馈的问题,会形成工单,然后工单会有一大堆工单流程,涉及工单的内部人员,可能会有赔付啥的,当然,这是有专业的售前.售后.客服团队 ...
- Flink Standalone集群部署
Flink Standalone模式部署集群是最简单的一种部署方式,不依赖于其他的组件,另外还支持YARN/Mesos/Docker等模式下的部署,这里使用的flink版本为最新的稳定版1.9.1版本 ...
- 【笔记】报错:numeric or value error: character to number conversion error
报错:numeric or value error: character to number conversion error 报错如下: 数据库操作错误."2327,13619/v1:65 ...
- ARMS 助力羽如贸易打造全链路可观测最佳实践
简介: 随着奢侈品行业在我国快速发展,跨境电商市场不断扩张.作为电商行业初创企业的上海羽如贸易有限公司(简称羽如贸易)积极进行数字化创新,打破固有零售思维,借助可观测能力有效提升用户体验,为业务飞速增 ...
- 【阿里云采购季】3月采购完,IT运维躺赢一年2
阿里云2020上云采购季正式上线啦!今年的采购季可以逛些啥? 采购季正式期时间: 3月2日-3月31日 在这段时间里,想买啥就买吧,别忘了把想买的产品加入购物车噢,特惠产品叠加购物车满减,更划算 ...
- Apache Flink 误用之痛
摘要:本文根据 Flink Forward 全球在线会议 · 中文精华版整理而成,围绕着项目的开始.需求分析.开发,以及测试.上线.运维整个生命周期展开,介绍了 Apache Flink 实践中的一些 ...