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配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. ...
随机推荐
- async/await 贴脸输出,这次你总该明白了
出来混总是要还的 最近在准备记录一个.NET Go核心能力的深度对比, 关于.NET/Go的异步实现总感觉没敲到点上. async/await是.NET界老生常谈的话题,每至于此,状态机又是必聊的话题 ...
- 使用mmdetection训练自己的coco数据集(免费分享自制数据集文件)
首先需要准备好数据集,这里有labelme标签数据转coco数据集标签的说明:labelme转coco数据集 - 一届书生 - 博客园 (cnblogs.com) 1. 准备工作目录 我们的工作目录, ...
- navicat连接mysql8报错
mysql8采用更安全的加密方式,navicat不支持,网上大多办法都是采用的更改数据库加密方式为外部加密 个人觉得这样它不太合适 so,终于找到一个办法: 把mysql8安装后的lib文件夹里的 l ...
- Redis基础(一)——字符串、hash类型的基本使用
day09--Redis Redis介绍和安装 # Redis:软件,存储数据的,速度非常快,Redis是一个key-value存储系统(没有表的概念),cs架构的软件 服务端 客户端(python作 ...
- 【笔记】connect by中的nocycle
connect by主要用于父子,祖孙,上下级等层级关系的查询 常用的是prior,nocycle prior: 查询父行的限定符,格式: prior column1 = column2 or col ...
- 钉钉宜搭亮相“第二届ISIG中国产业智能大会”:云钉低代码,构建企业酷应用
简介:低代码年度行业盛会!钉钉宜搭创始人叶周全受邀出席并发表主题演讲. 12月8日,由中国电子技术标准化研究院指导,RPA中国.LowCode低码时代.信创中国联合举办的"第二届ISIG中 ...
- 巧用友盟+U-APM 实现移动端性能优化—启动速度
简介: 移动端性能对用户体验.留存有着至关重要的影响,作为开发者是不是被这样吐槽过,"这个 APP 怎么这么大?"."怎么一直在 APP 封面图转悠,点不进去" ...
- Yurt-Tunnel 详解|如何解决 K8s 在云边协同下的运维监控挑战
简介: 伴随着 5G.IoT 等技术的快速发展,边缘计算被越来越广泛地应用于电信.媒体.运输.物流.农业.零售等行业和场景中,成为解决这些领域数据传输效率的关键方式.与此同时,边缘计算形态.规模.复杂 ...
- [FAQ] eggjs/egg 自定义 favicon.ico
从 egg 项目配置里找到这一段代码: https://github.com/eggjs/egg/blob/master/config/config.default.js#L205C21-L20 ...
- [Caddy2] 无法访问 Lets Encrypt OCSP 的解决方法
更换国内 DNS 为国外 DNS. Caddy 使用对应 DNS 的 provider. 重新运行即可获取到证书,Certificate obtained successfully. 其它参考: [C ...