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配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. ...
随机推荐
- OpenStack实战安装部署
OpenStack安装部署 一.基础准备工作 部署环境:CentOS 7 64 1.关闭本地iptables防火墙并设置开机不自启动 <span style="color:#33333 ...
- 给picgo上传的图片加个水印
之前给大家介绍了picgo和免费的图床神器.我们本可以开开心心的进行markdown写作了. 但是总是会有那么一些爬虫网站过来爬你的文章,还把你的文章标明是他们的原著.咋办呢?这里有一个好的办法就是把 ...
- 不常用的技能-【手动编译java类】
jdk版本:1.7 冒号分割jar包,1.8 分号分割jar包 javac -classpath fastjson-1.2.24.jar:jedis-2.9.0.jar Test.javajava - ...
- Linux_aarch64_head.S到main.c的环境建立
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明 无 前言 最开始,我仅仅是对linux比较感兴 ...
- 谈谈PolarDB-X在读写分离场景的实践
简介: 针对写少读多的业务可以考虑通过添加数据库节点来使其达到提升性能的目的,但添加节点,往往涉及到数据的搬迁,扩容周期比较长,很难应对徒增的业务流量,这个时候可以考虑采用读写分离的方式,将读写流量做 ...
- 如何使用 Serverless Devs 部署静态网站到函数计算
简介:手把手教你:如何使用 Serverless Devs 部署静态网站到函数计算. 前言 公司经常有一些网站需要发布上线,对比了几款不同的产品后,决定使用阿里云的函数计算(FC)来托管构建出来的静 ...
- [FAQ] Edge/Chrome 网络请求的编辑并重发
1. 在网络请求上面右键,复制为fetch. 2. 切换到Console控制台,粘贴并回车. fetch 是javascript中一个网络请求的函数或者工具,Chrome在我们 Copy as fet ...
- WPF 已知问题 开启 IsManipulationEnabled 之后触摸长按 RepeatButton 不会触发连续的 Click 事件
本文记录 WPF 的一个已知问题,在 RepeatButton 上开启 IsManipulationEnabled 漫游支持之后,将会导致触摸长按到 RepeatButton 之上时,不会收到源源不断 ...
- MAUI 已知问题 PathFigureCollectionConverter 非线程安全
在 MAUI 里,可以使用 PathFigureCollectionConverter 将 Path 字符串转换为 PathFigureCollection 对象,从而实现从 Path 字符串转换为路 ...
- 利用Navicat的历史日志查询表的索引信息(还可以查询很多系统级别的信息)
1.使用前提 所有的能用Navicat连接的数据库都可以使用这个方法 DDL/DML语句都有 2.Navicat中的历史日志 3.比如查询mysql的表的索引 先打开"历史记录" ...