【机器学习-数据科学】第二节:ipython开发环境搭建以及pandas快速入门

ipython开发环境搭建以及pandas快速入门

  • 0.开发环境搭建
    • 技巧
    • 网页版ipython:ipython notebook
    • numpy
  • 1.pandas 快速入门一
    • 导入
    • 创建对象
  • 2. pandas 快速入门二
      • 空数据处理
      • apply的用法
      • count和mode函数
      • 数据合并
  • 3. pandas 快速入门三
      • 数据整形
      • 数据透视
      • 时间序列
      • 数据可视化
      • 数据载入和保存

0.开发环境搭建

在这里插入图片描述

pip install jupyter
pip install numpy
pip install matplotlib

在这里插入图片描述
然后进入ipython 看一下没有错就可以了
在这里插入图片描述

技巧

ipython解析器对比python更易阅读。
在这里插入图片描述
在这里插入图片描述
ipython可以使用问号?访问
在这里插入图片描述

%timeit看某段代码执行的效果:
在这里插入图片描述

网页版ipython:ipython notebook

在这里插入图片描述
启动ipython:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

numpy

在这里插入图片描述
上一节讲过
补充一些:
在这里插入图片描述

1.pandas 快速入门一

在这里插入图片描述
https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html
10 minutes to pandas

导入

在这里插入图片描述

创建对象

创建一个通过Series传递值的列表:注意S大写

在这里插入图片描述
DataFrame通过传递带有日期时间索引和带标签的列的NumPy数组来创建:
在这里插入图片描述
通过字典来创建
df.A 访问列的数据
在这里插入图片描述
访问前几行:默认前五行

在这里插入图片描述
在这里插入图片描述
尾部的数据
在这里插入图片描述

行标签和列标签
在这里插入图片描述
在这里插入图片描述
可以看统计数据
在这里插入图片描述
转置
在这里插入图片描述
排序
根据列排序
在这里插入图片描述
降序的
在这里插入图片描述

通过A的值进行排序
在这里插入图片描述
数据选择
在这里插入图片描述
或者是属性值
在这里插入图片描述
又或者
在这里插入图片描述
又又或者
在这里插入图片描述
数字标签
在这里插入图片描述
在这里插入图片描述
访问某个特定值:第二种访问效率更高,但是需要访问最初始的参数,单只使用日期是会报错的
在这里插入图片描述

通过iloc选行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
访问某个特定元素,第二种方法更高效
在这里插入图片描述
通过%timeit看是否高效
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用isin过滤出某值
在这里插入图片描述
修改表中数据用iat
在这里插入图片描述
直接修改一列
在这里插入图片描述

还有有一种方式是直接标量,列的数目要匹配不然会报错
在这里插入图片描述
在这里插入图片描述

2. pandas 快速入门二

在这里插入图片描述
在这里插入图片描述

空数据处理

制造一些缺失项
NaN是没有数据的
在这里插入图片描述
处理空数据的方法:
一是删除
在这里插入图片描述
二是替换
在这里插入图片描述
判断是否有空数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
空数据是不参与计算的
在这里插入图片描述
按行求平均值
在这里插入图片描述

累加值
在这里插入图片描述
广播的概念

在这里插入图片描述
df减去s s相当于一直横向扩展
在这里插入图片描述

apply的用法

在这里插入图片描述
自定义函数
返回的是数组的和
在这里插入图片描述

count和mode函数

首先创建一个数列
在这里插入图片描述
counts可以看出随机产生的每个数字有多少个
在这里插入图片描述
s.mode()产生最多的
在这里插入图片描述

数据合并

在这里插入图片描述
用iloc取数
在这里插入图片描述
把三部分合并
在这里插入图片描述

比较一下
在这里插入图片描述

还有一种合并的方法
先创建两个数据
在这里插入图片描述
left和right连接起来 通过key进行关联
在这里插入图片描述
在这里插入图片描述
在另一个数据合并的方法是
首先创建数据
在这里插入图片描述
插入一行数据
在这里插入图片描述
改变其中一个量,可以看到新插入的数据变化
在这里插入图片描述

分组
在这里插入图片描述
按照A来进行分组,foo一组bar一组,然后进行计算
在这里插入图片描述
分组也可以多个分组,先A 再B分小组
是一种双索引的结构
在这里插入图片描述
在这里插入图片描述

3. pandas 快速入门三

在这里插入图片描述
在这里插入图片描述

数据整形

数据整形就是把行和列的数据进行互换
首先是创建和索引
在这里插入图片描述
把列索引变成行索引
在这里插入图片描述
在这里插入图片描述
再使用unstack转换回来
在这里插入图片描述
再转换一次,它会把第二层索引转换成列
在这里插入图片描述

数据透视

数据透视是只看一部分
首先创建一个DataFrame
在这里插入图片描述
D的值,以C为列索引,AB为行索引
在这里插入图片描述
上面存在nan表示 在索引中再在原数组中数据是不存在的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

时间序列

在这里插入图片描述
在这里插入图片描述
是不是像股票的交易量,每秒交易了多少
我们这是需要对大量的数据进行重新采样
用每两分钟求和的方式进行采样

在这里插入图片描述
除了data_range,还有period_range
在这里插入图片描述
转换成时间的格式
在这里插入图片描述
时间的计算
在这里插入图片描述
时间的加法
在这里插入图片描述
类别数据介绍
下面是一个学生分数等级
在这里插入图片描述
创建一个grade的列
在这里插入图片描述
这一列是一个category的数据
在这里插入图片描述

在这里插入图片描述
可以重新命名的
在这里插入图片描述
上面是根据值来排序的
下面是降序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据可视化

然后我们要把数据画出来
在这里插入图片描述

数据载入和保存

在这里插入图片描述
保存到磁盘里
在这里插入图片描述
%ls进行查看
在这里插入图片描述
%more查看
在这里插入图片描述
然后读回来
在这里插入图片描述
指定索引列
在这里插入图片描述
大部分来自官网啦
还是要看看官网啊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytorch图像和张量的相互转换_Day107:Pytorch张量类型的构建与相互转换

张量的作用Pytorch的数据类型为各式各样的Tensor,Tensor可以理解为高维矩阵(与Numpy中的Array类似)通过使用Type函数可以查看变量类型。一CPU张量类型Pytorch中的tensor包括七种CPU张量类型和八种GPU张量类型,这里我们就只讲解一下CPU中的,GP…

漂亮的html页面源码_爬虫数据分析之html

1、 htmlhtml 不是一种编程语言,而是一种标记语言,是制作网页所必须的,你在浏览器里看到的每一个页面,不论简单还是复杂,都是用html编写的,包括你现在看到的这篇文章。用html写一个简单的页面,是…

LeetCode 1864. 构成交替字符串需要的最小交换次数

文章目录1. 题目2. 解题1. 题目 给你一个二进制字符串 s ,现需要将其转化为一个 交替字符串 。 请你计算并返回转化所需的 最小 字符交换次数,如果无法完成转化,返回 -1 。 交替字符串 是指:相邻字符之间不存在相等情况的字符串…

【机器学习-数据科学】第三节:数据分析实例 分析MovieLens电影数据

数据分析实例 分析MovieLens电影数据导入数据数据合并按性别查看各个电影的平均评分活跃电影排行榜电影投票数据 grouplens.org/datasets/movielens 把文件放到这个路径下 导入数据 数据合并 按性别查看各个电影的平均评分 查看男女评分差别最大的 按照diff去排序 找出分歧…

vue路由切换组件没有加载_Vue面试题: 如何实现路由懒加载?

非懒加载import List from /components/list.vue const router new VueRouter({routes: [{ path: /list, component: List }] })方案一(常用)const List () > import(/components/list.vue) const router new VueRouter({routes: [{ path: /list, component: List }] })方…

LeetCode 1865. 找出和为指定值的下标对(哈希)

文章目录1. 题目2. 解题1. 题目 给你两个整数数组 nums1 和 nums2 ,请你实现一个支持下述两类查询的数据结构: 累加 ,将一个正整数加到 nums2 中指定下标对应元素上。计数 ,统计满足 nums1[i] nums2[j] 等于指定值的下标对 (i,…

聚类算法 距离矩阵_快速且不需要超参的无监督聚类方法

论文: Efficient Parameter-free Clustering Using First Neighbor RelationsEfficient Parameter-free Clustering Using First Neighbor Relations​arxiv.org代码:https://github.com/ssarfraz/FINCH-Clustering​github.com此文是CVPR2019的oral文章…

服务器不知别内存_图文版 许迎果第63期 选购和使用内存需要注意的点

其实要说清楚内存的方方面面还是要颇费一番功夫的.内存的起源和发展历程估计要讲一期,内存厂商,颗粒,品牌也需要单独讲一期,内存超频也要单独讲一期.内存看似简单,但要说的内容却是很多的.所以为了节省各位小伙伴的时间,我会尽量精简,只讲对大多数人都比较实用的部分.本期大体上…

LeetCode 1877. 数组中最大数对和的最小值(贪心)

文章目录1. 题目2. 解题1. 题目 一个数对 (a,b) 的 数对和 等于 a b 。最大数对和 是一个数对数组中最大的 数对和 。 比方说,如果我们有数对 (1,5) ,(2,3) 和 (4,4),最大数对和 为 max(15, 23, 44) max(6, 5, 8) 8 。 给你一个长度为 偶…

小程序多个echars_小程序界面与逻辑

主要内容数据绑定、渲染、界面层数据渲染和事件处理。一、数据绑定1.1 渲染层和逻辑层小程序宿主环境我们称微信客户端给小程序所提供的环境为宿主环境。小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能。小程序开发框架的目标是通过尽可能简单、…

LeetCode 1876. 长度为三且各字符不同的子字符串

文章目录1. 题目2. 解题1. 题目 如果一个字符串不含有任何重复字符,我们称这个字符串为 好 字符串。 给你一个字符串 s ,请你返回 s 中长度为 3 的 好子字符串 的数量。 注意,如果相同的好子字符串出现多次,每一次都应该被记入…

numpy维度交换_数据分析-gt;基本操作numpy(1)

1.Numpy介绍与安装Numpy是什么?Numpy(Numerical Python)是目前Python数值计算中最为重要的基础包。大多数计算包都提供了基于Numpy的科学函数功能,将Numpy的数组对象作为数据交换的通用语。Numpy特点提供高效多维数组提供了基于数组的便捷算术操作以及广…

C#学习记录3上——类的封装,继承,多态

OOP面向对象的三大特点:封装(encapsulation),继承(inheritance),多态(encapsulation) 和JAVA与C一样,C#也是OOP语言。并且,C#对数据的封装要比C更…

LeetCode 1878. 矩阵中最大的三个菱形和(模拟)

文章目录1. 题目2. 解题1. 题目 给你一个 m x n 的整数矩阵 grid 。 菱形和 指的是 grid 中一个正菱形 边界 上的元素之和。 本题中的菱形必须为正方形旋转45度,且四个角都在一个格子当中。 下图是四个可行的菱形,每个菱形和应该包含的格子都用了相应颜…

计算尖峰电流的目的_入门必看!负荷计算的目的、方法以及原则详解

感谢关注【易筑电气】,我们会定期为您推送最新的电气资讯和各类实用干货,欢迎有料的电气设计师加入我们的QQ交流群:571819142。想了解我们的线上讲师招募计划?添加QQ:3335847624 开启新世界~负荷计算目的和意义低压供配…

上下伸缩代码_CQRS之旅——旅程4(扩展和增强订单和注册限界上下文)

旅程4:扩展和增强订单和注册限界上下文进一步探索订单和注册的有界上下文。“我明白,如果一个人想看些新鲜的东西,旅行并不是没有意义的。”儒勒凡尔纳,环游世界80天对限界上下文的更改:前一章详细描述了订单和注册限界…

LeetCode 1879. 两个数组最小的异或值之和(状态压缩DP)

文章目录1. 题目2. 解题2.1 回溯2.2 状态压缩DP1. 题目 给你两个整数数组 nums1 和 nums2 ,它们长度都为 n 。 两个数组的 异或值之和 为 (nums1[0] XOR nums2[0]) (nums1[1] XOR nums2[1]) ... (nums1[n - 1] XOR nums2[n - 1]) (下标从 0 开始&am…

二叉排序树的后序遍历序列必然是递增的_剑指offer 33——二叉搜索树的后序遍历序列...

本题主要在于考察对二叉搜索树和后序遍历的理解。原题输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树:5 / 2 6…

LeetCode 1880. 检查某单词是否等于两单词之和

文章目录1. 题目2. 解题1. 题目 字母的 字母值 取决于字母在字母表中的位置,从 0 开始 计数。即,a -> 0、b -> 1、c -> 2,以此类推。 对某个由小写字母组成的字符串 s 而言,其 数值 就等于将 s 中每个字母的 字母值 按…

查询去除空值_SQL数据处理(五):SQL多表查询

一. 表的加法加法(union)。合并两张数据表course和course1/去除重复行重合【select 课程号,课程名称 from course union select 课程号,课程名称 from course1;】 输出结果两个表合并的数据若要保留重复的行数据(union all)【select 课程号,课程名称 from course union all sel…