Pandas库——DataFrame入门
文章目录
- 一.简介
- 二.创建
- 1.python字典型
- 2.嵌套list/numpy的多维数组
- 3.文件读取
- 三.操作
- 1.索引的赋值
- 2.查看
- 3.添加
- 4.修改
- 5.删除
一.简介
DataFrame是一个二维的表格型结构,可以视为Series的容器,规定每一列所有元素的数据类型必须相同,不同列的元素数据类型可以不同
DataFrame有行索引和列索引(或者称为行标签、列标签),分别可以用index和columns进行查看
库的导入:
import numpy as np
import pandas as pd
二.创建
DataFrame的创建有两种方法:
一是通过对其他已经存在的数据结构进行转化得到的,最简单直接的方法就是利用DataFrame(对象)函数进行转化
支持转化的数据结构包括dict、list、numpy的ndarray等等
二是读取excel、csv等文件
1.python字典型
python中的字典型是由键值对组成的,值将作为DataFrame的内容,键将作为列索引
dict={"时间":pd.date_range("20200101",periods=7),"新增感染人数":[1,8,4,0,0,3,2],"治愈人数":[3,2,5,4,1,0,1],"死亡人数":[0,0,0,1,0,1,0],
}df=pd.DataFrame(dict)
这是一种比较常用的生成DataFrame的方法
列索引为字典的键,行索引则为从0开始,步长为1的整数序列:
要注意的是,不是所有字典都能进行转化的,要求:
①字典中的’值‘由等长的列表或数组或Series构成,否则会报错:arrays must all be same length
②更严格的说,字典中的值还可以是一个字符串,可以是一个数字,它们会被视为由n个字符串/数字组成的数组(n为其他数组的长度),换言之它们所在的列内容将是全部相同的。
将前例的字典做了一个小的改动:"死亡人数":'AB'
③字典的值中必须起码含有一个列表/数组/Series,不能全部是数字、字符串,否则会报错:ValueError: If using all scalar values, you must pass an index
很好理解,前文说过要求所有值是等长的,如果出现字符串或数字这样的标量(scalar values),则会复制n份变成数组,当全部都是标量时,它无法确定要复制几份所以报错了,换言之无法确定要生成的DataFrame行索引是怎么样的
解决办法是通过给index(行索引)赋值,帮助编译器确定要复制几份:
df=pd.DataFrame(dict,index=[1,2])
—————————————————————————————————————
也可以将嵌套字典转化为dataframe,字典的外层键将被作为列索引,内层键作为行索引:
dict={'A':{'a':1,'b':2,'c':3},'B':{'d':[2,6,7],'b':[4,5],}
}
df=pd.DataFrame(dict)
嵌套字典不会对字典的值作出要求,空缺的部分会用Nan来补上:
—————————————————————————————————————
将字典型转化为DataFrame的另外一种方法是通过from_dict
函数,例:
df=pd.DataFrame.from_dict(dict)
但是相比之下DataFrame()函数更方便快捷
2.嵌套list/numpy的多维数组
行索引或列索引默认为整数序列:
df=pd.DataFrame([[3,4,5,'6'],[2.1,3.2,4.4,5],[0,1,2,3]])
print(df)
效果如下:
注意:
①若嵌套列表的子列表的长度不相同,空缺的部分会由Nan补上
②嵌套列表的每一个子列表被视为一行。若转化的对象是列表而不是嵌套列表,则每一个元素视为一行
3.文件读取
以读取excel文件为例:
利用函数read_excel将文件中的内容提取到DataFrame中,参数为文件的路径名
字符串前的r是防止字符串中的\
被解释为转义字符
df=pd.read_excel(r"C:\Users\93297\Desktop\豆瓣电影数据.xlsx")
三.操作
1.索引的赋值
①可以自己给索引赋值,行索引用index赋值,列索引用columns赋值
df=pd.DataFrame(np.random.rand(5,6))
df.index=pd.date_range("20000101",periods=5)
df.columns=list('ABCDEF')
print(df)
Pandas库——DataFrame入门相关推荐
- pandas库--DataFrame常用操作
文章目录 前言 一.DataFrame创建 1.基于列表创建 2.基于字典创建 二.查询 1.df直接查询 ① 查询一列 ② 查询多列 ③ 条件查询 2.query()方法 ① 条件查询 ② 带有变量 ...
- Pandas库DataFrame的简单应用2
Pandas练习2 练习题 DataFrame的简单应用 练习1 代码 效果图 练习2 代码 效果图 小结 练习题 DataFrame的简单应用 练习1 代码 import pandas as pd# ...
- 【Python学习系列十五】pandas库DataFrame行列操作使用方法
参考:http://pandas.pydata.org/pandas-docs/stable/api.html#dataframe data['w'] #选择表格中的'w'列,使用类字典属性,返回的是 ...
- pandas库简单入门
注:关于pandas的相关问题,若本文未涉及可在下方留言告诉我,我会在文章中进行补充的 Ctrl+F 可进行全文查找 原文链接:https://mtyjkh.blog.csdn.net/article ...
- Pandas库DataFrame的排序
df1为dataframe结构的测试数据: df1数据是从test.xlsx文档中读取的,使用示例代码如下: # -*- coding:utf-8 -*-import tushare as ts im ...
- 【python】详解numpy库与pandas库axis=0,axis= 1轴的用法
对数据进行操作时,经常需要在横轴方向或者数轴方向对数据进行操作,这时需要设定参数axis的值: axis = 0 代表对横轴操作,也就是第0轴: axis = 1 代表对纵轴操作,也就是第1轴: nu ...
- 学习 Python 之 Pandas库
学习 Python 之 Pandas库 Pandas库 什么是Pandas库? DataFrame 创建和存储 1. 使用DataFrame构造函数 (1). 使用列表创建 (2). 使用字典创建 ( ...
- Python数据分析~Pandas库30分钟快速入门
目录 1 Pandas序列和数据表 2 Pandas数据聚合与分组运算 3 Pandas数据可视化 Pandas库在数据分析中是非常重要和常用的库,它利用数据框让数据的处理和操作变的简单和快捷.在数 ...
- azw3 python数据分析 活用pandas库_Python数据分析 活用Pandas库 数据科学教程数据分析入门图书 Python编程入门数据处理...
内容介绍 本书是Python数据分析入门书,每个概念都通过简单实例来阐述,便于读者理解与上手.具体内容包括:Python及Pandas基础知识,加载和查看数据集,Pandas的DataFrame对象和 ...
最新文章
- 个人中心数据接口的开发
- linux命令之远程文件或文件夹拷贝-scp
- 证书服务器无法启动,使用 SSL 证书后服务无法启动 - SQL Server | Microsoft Docs
- python中常见的异常
- PHP进行图片下载的时候,出现图片损坏,无法打开(实质原因,多输出了一个空白字符ZWNBSP )
- i18n - why Chinese resource will be loaded by default
- OpenGL中的几何体实例化(OpenGL Geometry Instancing)
- mysql从服务器配置_mysql主从服务器配置基础教程
- qt代码中判断windows/linux/arm等系统
- 人到中年生活不易,特别是工作压力很大
- python学习网站-Python学习网站
- html标签种类很多,为什么不都用div?
- eclipse中文语言包 离线安装
- php楼梯有n级台阶,楼梯问题的一些解决方法
- 力扣刷题:求树的最大高度,树的最小高度,与判断平衡二叉树
- Android视频融合特效播放与渲染
- Python图像处理一:图像的读取、显示与存储
- 姿态角解算(MPU6050 加速度计加陀螺仪)
- 浙江大学计算机2018分数线,浙江大学2018多少录取分数线
- 六所大学要增加计算机类硕士专业,三所大学将被撤销!2021年学位授权点审核名单公布...
热门文章
- Caucho卷土从来了
- 认证、授权、鉴权和权限控制
- 区块链革命:我命由我不由天,是魔是仙, 我自己说了算
- 网络基础(2)---子网划分、TCP/IP、DNS、DHCP
- Google谷歌权重09年算法
- Lucene.net(4.8.0)+PanGu分词器 问题记录一 分词器Analyzer的构造和内部成员ReuseStategy
- NIUSHOP商城系统短信宝短信插件
- php ldap目录协议,PHP 通过LDAP协议,操作Windows Active Directory
- 工业互联网方兴未艾,做好工业现场数据管理是破局关键
- Python自动化开发从浅入深-进阶(sqlalchemy)