文章目录

  • 一.简介
  • 二.创建
    • 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入门相关推荐

  1. pandas库--DataFrame常用操作

    文章目录 前言 一.DataFrame创建 1.基于列表创建 2.基于字典创建 二.查询 1.df直接查询 ① 查询一列 ② 查询多列 ③ 条件查询 2.query()方法 ① 条件查询 ② 带有变量 ...

  2. Pandas库DataFrame的简单应用2

    Pandas练习2 练习题 DataFrame的简单应用 练习1 代码 效果图 练习2 代码 效果图 小结 练习题 DataFrame的简单应用 练习1 代码 import pandas as pd# ...

  3. 【Python学习系列十五】pandas库DataFrame行列操作使用方法

    参考:http://pandas.pydata.org/pandas-docs/stable/api.html#dataframe data['w'] #选择表格中的'w'列,使用类字典属性,返回的是 ...

  4. pandas库简单入门

    注:关于pandas的相关问题,若本文未涉及可在下方留言告诉我,我会在文章中进行补充的 Ctrl+F 可进行全文查找 原文链接:https://mtyjkh.blog.csdn.net/article ...

  5. Pandas库DataFrame的排序

    df1为dataframe结构的测试数据: df1数据是从test.xlsx文档中读取的,使用示例代码如下: # -*- coding:utf-8 -*-import tushare as ts im ...

  6. 【python】详解numpy库与pandas库axis=0,axis= 1轴的用法

    对数据进行操作时,经常需要在横轴方向或者数轴方向对数据进行操作,这时需要设定参数axis的值: axis = 0 代表对横轴操作,也就是第0轴: axis = 1 代表对纵轴操作,也就是第1轴: nu ...

  7. 学习 Python 之 Pandas库

    学习 Python 之 Pandas库 Pandas库 什么是Pandas库? DataFrame 创建和存储 1. 使用DataFrame构造函数 (1). 使用列表创建 (2). 使用字典创建 ( ...

  8. Python数据分析~Pandas库30分钟快速入门

    目录 1  Pandas序列和数据表 2 Pandas数据聚合与分组运算 3 Pandas数据可视化 Pandas库在数据分析中是非常重要和常用的库,它利用数据框让数据的处理和操作变的简单和快捷.在数 ...

  9. azw3 python数据分析 活用pandas库_Python数据分析 活用Pandas库 数据科学教程数据分析入门图书 Python编程入门数据处理...

    内容介绍 本书是Python数据分析入门书,每个概念都通过简单实例来阐述,便于读者理解与上手.具体内容包括:Python及Pandas基础知识,加载和查看数据集,Pandas的DataFrame对象和 ...

最新文章

  1. 个人中心数据接口的开发
  2. linux命令之远程文件或文件夹拷贝-scp
  3. 证书服务器无法启动,使用 SSL 证书后服务无法启动 - SQL Server | Microsoft Docs
  4. python中常见的异常
  5. PHP进行图片下载的时候,出现图片损坏,无法打开(实质原因,多输出了一个空白字符ZWNBSP )
  6. i18n - why Chinese resource will be loaded by default
  7. OpenGL中的几何体实例化(OpenGL Geometry Instancing)
  8. mysql从服务器配置_mysql主从服务器配置基础教程
  9. qt代码中判断windows/linux/arm等系统
  10. 人到中年生活不易,特别是工作压力很大
  11. python学习网站-Python学习网站
  12. html标签种类很多,为什么不都用div?
  13. eclipse中文语言包 离线安装
  14. php楼梯有n级台阶,楼梯问题的一些解决方法
  15. 力扣刷题:求树的最大高度,树的最小高度,与判断平衡二叉树
  16. Android视频融合特效播放与渲染
  17. Python图像处理一:图像的读取、显示与存储
  18. 姿态角解算(MPU6050 加速度计加陀螺仪)
  19. 浙江大学计算机2018分数线,浙江大学2018多少录取分数线
  20. 六所大学要增加计算机类硕士专业,三所大学将被撤销!2021年学位授权点审核名单公布...

热门文章

  1. Caucho卷土从来了
  2. 认证、授权、鉴权和权限控制
  3. 区块链革命:我命由我不由天,是魔是仙, 我自己说了算
  4. 网络基础(2)---子网划分、TCP/IP、DNS、DHCP
  5. Google谷歌权重09年算法
  6. Lucene.net(4.8.0)+PanGu分词器 问题记录一 分词器Analyzer的构造和内部成员ReuseStategy
  7. NIUSHOP商城系统短信宝短信插件
  8. php ldap目录协议,PHP 通过LDAP协议,操作Windows Active Directory
  9. 工业互联网方兴未艾,做好工业现场数据管理是破局关键
  10. Python自动化开发从浅入深-进阶(sqlalchemy)