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配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. ...
随机推荐
- openGauss每日一练(全文检索)
openGauss 每日一练(全文检索) 本文出处:https://www.modb.pro/db/224179 学习目标 学习 openGauss 全文检索 openGauss 提供了两种数据类型用 ...
- 美团一面,面试官让介绍AQS原理并手写一个同步器,直接凉了
写在开头 今天在牛客上看到了一个帖子,一个网友吐槽美团一面上来就让手撕同步器,没整出来,结果面试直接凉凉. 就此联想到一周前写的一篇关于AQS知识点解析的博文,当时也曾埋下伏笔说后面会根据AQS的原理 ...
- HarmonyOS:NativeWindow 开发指导
场景介绍 NativeWindow是HarmonyOS本地平台化窗口,表示图形队列的生产者端.开发者可以通过NativeWindow接口进行申请和提交Buffer,配置Buffer属性信息. 针对 ...
- k8s之构建Mysql和Wordpress集群
一.实验目的 基于Kubernetes集群实现多负载的WordPress应用.将WordPress数据存储在后端Mysql,Mysql实现主从复制读写分离功能. 工作负载 服务 持久卷 Mysql S ...
- IaC:实现持续交付和 DevOps 自动化的关键
基础架构即代码(IaC)和 CI/CD 流水线最初似乎并不匹配.因为它们代表了两种不同的流程.IaC 主要关注基础设施的配置和开发,而 CI/CD 则围绕软件开发.测试和部署. 然而,将 IaC 集成 ...
- WPF 对接 Vortice 绘制 WIC 图片
本文告诉大家如何通过 Vortice 在 Direct2D 里面绘制图片,图片的来源是 WIC 加载出的图片 在上一篇博客 WPF 对接 Vortice 调用 WIC 加载图片 告诉了大家如何对接 V ...
- 读 MAUI 源代码 理解可绑定对象和可绑定属性的存储机制
和 UWP 与 WPF 不同的是在 MAUI 里面,使用可绑定对象 BindableObject 替换了依赖对象的概念,我阅读了 MAUI 的源代码发现其实只是命名变更了,里面的机制和设计思想都是差不 ...
- hbuilder打包报错:java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 7 column 15 path $.icons
一个棘手的问题,在网上找几乎没有出现这样的案例,个别也只有翻译没有解决方式,,,,,自己研究一番发现这实际上都不算是个问题 这句话翻译:这个位置应该是个对象而不是数组,解决方法: 在manifest. ...
- SpringMVC学习三(静态资源/AJAX功能/乱码问题)
静态资源的映射 Springmvc完成ajax功能 SpringMVC返回中文到ajax乱码问题解决方式 1.静态资源映射 对于之前web.xml配置文件中的 先做出如下更改,不可写"/*& ...
- centos中普通用户使用sudo报错:centos is not in the sudoers file. This incident will be reported.
centos中普通用户使用sudo报错:centos is not in the sudoers file. This incident will be reported. su - chmod u+ ...