利用Python进行数据分析 Unit 2
.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { line-height: 1.5; margin-top: 35px; margin-bottom: 10px; padding-bottom: 5px }
.markdown-body h1 { font-size: 24px; line-height: 38px; margin-bottom: 5px }
.markdown-body h2 { font-size: 22px; line-height: 34px; padding-bottom: 12px; border-bottom: 1px solid rgba(236, 236, 236, 1) }
.markdown-body h3 { font-size: 20px; line-height: 28px }
.markdown-body h4 { font-size: 18px; line-height: 26px }
.markdown-body h5 { font-size: 17px; line-height: 24px }
.markdown-body h6 { font-size: 16px; line-height: 24px }
.markdown-body p { line-height: inherit; margin-top: 22px; margin-bottom: 22px }
.markdown-body img { max-width: 100% }
.markdown-body hr { border-top: 1px solid rgba(221, 221, 221, 1); border-right: none; border-bottom: none; border-left: none; margin-top: 32px; margin-bottom: 32px }
.markdown-body code { border-radius: 2px; overflow-x: auto; background-color: rgba(255, 245, 245, 1); color: rgba(255, 80, 44, 1); font-size: 0.87em; padding: 0.065em 0.4em }
.markdown-body code, .markdown-body pre { font-family: Menlo, Monaco, Consolas, Courier New, monospace }
.markdown-body pre { overflow: auto; position: relative; line-height: 1.75 }
.markdown-body pre>code { font-size: 12px; padding: 15px 12px; margin: 0; word-break: normal; display: block; overflow-x: auto; color: rgba(51, 51, 51, 1); background: rgba(248, 248, 248, 1) }
.markdown-body a { text-decoration: none; color: rgba(2, 105, 200, 1); border-bottom: 1px solid rgba(209, 233, 255, 1) }
.markdown-body a:active, .markdown-body a:hover { color: rgba(39, 91, 140, 1) }
.markdown-body table { display: inline-block !important; font-size: 12px; width: auto; max-width: 100%; overflow: auto; border: 1px solid rgba(246, 246, 246, 1) }
.markdown-body thead { background: rgba(246, 246, 246, 1); color: rgba(0, 0, 0, 1); text-align: left }
.markdown-body tr:nth-child(2n) { background-color: rgba(252, 252, 252, 1) }
.markdown-body td, .markdown-body th { padding: 12px 7px; line-height: 24px }
.markdown-body td { min-width: 120px }
.markdown-body blockquote { color: rgba(102, 102, 102, 1); padding: 1px 23px; margin: 22px 0; border-left: 4px solid rgba(203, 203, 203, 1); background-color: rgba(248, 248, 248, 1) }
.markdown-body blockquote:after { display: block; content: "" }
.markdown-body blockquote>p { margin: 10px 0 }
.markdown-body ol, .markdown-body ul { padding-left: 28px }
.markdown-body ol li, .markdown-body ul li { margin-bottom: 0; list-style: inherit }
.markdown-body ol li .task-list-item, .markdown-body ul li .task-list-item { list-style: none }
.markdown-body ol li .task-list-item ol, .markdown-body ol li .task-list-item ul, .markdown-body ul li .task-list-item ol, .markdown-body ul li .task-list-item ul { margin-top: 0 }
.markdown-body ol ol, .markdown-body ol ul, .markdown-body ul ol, .markdown-body ul ul { margin-top: 3px }
.markdown-body ol li { padding-left: 6px }
.markdown-body .contains-task-list { padding-left: 0 }
.markdown-body .task-list-item { list-style: none }
@media (max-width: 720px) { .markdown-body h1 { font-size: 24px } .markdown-body h2 { font-size: 20px } .markdown-body h3 { font-size: 18px } }.markdown-body pre, .markdown-body pre>code.hljs { color: rgba(51, 51, 51, 1); background: rgba(248, 248, 248, 1) }
.hljs-comment, .hljs-quote { color: rgba(153, 153, 136, 1); font-style: italic }
.hljs-keyword, .hljs-selector-tag, .hljs-subst { color: rgba(51, 51, 51, 1); font-weight: 700 }
.hljs-literal, .hljs-number, .hljs-tag .hljs-attr, .hljs-template-variable, .hljs-variable { color: rgba(0, 128, 128, 1) }
.hljs-doctag, .hljs-string { color: rgba(221, 17, 68, 1) }
.hljs-section, .hljs-selector-id, .hljs-title { color: rgba(153, 0, 0, 1); font-weight: 700 }
.hljs-subst { font-weight: 400 }
.hljs-class .hljs-title, .hljs-type { color: rgba(68, 85, 136, 1); font-weight: 700 }
.hljs-attribute, .hljs-name, .hljs-tag { color: rgba(0, 0, 128, 1); font-weight: 400 }
.hljs-link, .hljs-regexp { color: rgba(0, 153, 38, 1) }
.hljs-bullet, .hljs-symbol { color: rgba(153, 0, 115, 1) }
.hljs-built_in, .hljs-builtin-name { color: rgba(0, 134, 179, 1) }
.hljs-meta { color: rgba(153, 153, 153, 1); font-weight: 700 }
.hljs-deletion { background: rgba(255, 221, 221, 1) }
.hljs-addition { background: rgba(221, 255, 221, 1) }
.hljs-emphasis { font-style: italic }
.hljs-strong { font-weight: 700 }
2.1 Python解释器
Python是一种解释型语言
在终端运行python代码时,我要退出解释器回到命令行时,输入exit()或者按下Ctrl+D来实现
如何在命令行运行一个python程序?
python hello_world.py
2.2 Python基础
import numpy as np
data={i:np.random.randn() for i in range(7)}
data #当你在IPython中仅输入一个变量名,会返回一个表示该对象的字符串
{0: -0.9256515097573629,
1: -0.45599911212698563,
2: 0.14801057889731828,
3: 1.4912085745522994,
4: 0.8271029150478258,
5: -0.06567834830118613,
6: -0.32664162261193924}
print(data) #使用print方法在标准python解释器中打印data变量,可读性变差
{0: -0.9256515097573629, 1: -0.45599911212698563, 2: 0.14801057889731828, 3: 1.4912085745522994, 4: 0.8271029150478258, 5: -0.06567834830118613, 6: -0.32664162261193924}
2.2.2 运行Juoyter notebook
notebook是一种交互式的文档类型
如何启动Jupyter notebook?
1-在终端中输入 jupyter notebook
2-使用http地址浏览notebook 地址是http://localhost:8888/
2.2.3 Tab补全
Tab补全可实现:
1-对象名补全
2-路径名补全
3-关键字补全
2.2.4 内省
什么是内省?
答:在变量名的前后使用 '?'
b=[4,2,3]
?b
#内省的作用是?
#答:显示该对象的概要信息
Type: list
String form: [4, 2, 3]
Length: 3
Docstring:
list() -> new empty list
list(iterable) -> new list initialized from iterable's items
'??'双问号又是什么意思
答:可以显示函数的源代码
def add_number(a,b):
"""
ADD two numbers together
Returns
----
The_sum:type of arguments
"""
return a+b
?? add_number
Signature: add_number(a, b)
Source:
def add_number(a,b):
"""
ADD two numbers together
Returns
----
The_sum:type of arguments
"""
return a+b
File: /data/nas/workspace/jupyter/笔记/<ipython-input-10-bea6a841eff2>
Type: function
内省的终极作用:
问号(?)可以和通配符(*)联用,会显示所有匹配通配符表达式的命名
np.*load*?
np.__loader__
np.load
np.loads
np.loadtxt
2.2.5 %run命令
%run的作用:
答:可以在IPython会话中运行任意的Python程序
例如 %run ipython_test.py
如何中断运行中的代码?
Ctrl+C
执行剪切板中的程序
在IPython中可以使用%paste和%cpaste魔术函数,执行剪切板中的代码(notebook中不可以)
2.2.7终端快捷键
Ctrl+C 中断正在执行的代码
Ctrl+A 将光标移动到本行起始位置
Ctrl+E 将光标移动到本行结束位置
Ctrl+U 删除本行所有内容
Ctrl+K 删除光标后内容
2.2.8 关于魔术命令
魔术命令的前缀是%
当然魔术命令也可以不加%使用(如果没有与之同名的函数时)
魔术函数也像其他Python函数一样,其输出可以付给一个变量
2.2.9 matplotlib集成
当你创建的图形无法显示时,记得使用%matplotlib魔术函数
2.3 Python语言基础
2.3.1
建议使用四个空格作为你的默认缩进,而不是Tab
冒号(:)代表缩进代码块的开始
写在井号(#)后的文本自动被Python编译器忽略
什么是方法?
答:几乎所有python对象都有的内部函数,称为方法
什么是引用?
答:在python中对一个变量进行赋值时,就创建了一个指向等号右边的引用
a = [1,2,3]
python 下可以实现两个引用指向同一个对象
a = [1,2,3]
b = a
可以使用isinstance函数来检查一个对象是否是特定类型的实例
什么是属性?
答:python对象“内部”存储的其他对象
什么是方法?
答:与对象内部对象有关的函数
什么是模块?
答:以.py为后缀并且包含python代码的文件
怎么使用模块下的内部函数和内部对象?
答:
import some_module as sm
from some_module import PI as pi, g as gf
r1=sm.f(pi)
r2=gf(6,pi)
等同于
import some_modul
result=some_modul.f(5)
pi=some_modul.PI
is 和 == 的区别
答:is比较的是对象地址
==比较的是对象(变量)内容
可变对象和不可变对象
答:列表、字典、Numpy数组是可变对象(对象和对象值都可以被修改)
字符串和元组是不可变对象
但是,要记住,你可以修改一个对象并不代表你应该那样做
2.3.2 标量类型
数值类型:int(可以存储任意大小的数字)和float(双精度64位)
python中除法(/)会将结果自动转为浮点数
字符串:对于含有换行符的字符串,你可以使用三个单引号(''' 字符串''') 或三个双引号("""字符串""")
反斜杠(\)的用处?
答:\是一种转义符号,用来指明特殊符号,比如换行符号\n
如果字符串有大量反斜杠需要转义,如果都使用\转义,显得很麻烦,此时我们只需要在字符串前面加一个前缀符号r,表明这些字符是原生字符;
格式化字符串format
布尔值
布尔值可以和or联用
类型转换
int 、str、bool、float既是数据类型又是类型转换函数
时间和日期
python中内建的有datetime模块,提供了datetime、date和time类型
datetime类型是包含日期和时间信息
对于datetime对象,可以对其使用date方法和time方法获取它的date和time对象
datetime类型数据可以通过strftime()转为字符类型
字符类型数据可以通过strptime()转为datetime类型
替换时间序列数据时,使用replace()函数
for循环
for循环用于遍历一个集合(比如元组或者是列表)或者是一个迭代器
continue关键字可以跳过continue之后的代码,进入下一次循环
break关键字可以结束一个for循环
pass 什么都不做语句
range
range函数返回一个迭代器,该迭代器生成一个等差整数数组
这个等差数组的起始数、结尾数和步进(可正可负)可以传参给range函数
三元表达式
python中的三元表达式允许你将一个if-else代码块联合起来,优点是压缩代码量
利用Python进行数据分析 Unit 2的更多相关文章
- 利用Python进行数据分析(12) pandas基础: 数据合并
pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...
- 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片
概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...
- 利用Python进行数据分析(9) pandas基础: 汇总统计和计算
pandas 对象拥有一些常用的数学和统计方法. 例如,sum() 方法,进行列小计: sum() 方法传入 axis=1 指定为横向汇总,即行小计: idxmax() 获取最大值对应的索 ...
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
一.reindex() 方法:重新索引 针对 Series 重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- 《利用python进行数据分析》读书笔记 --第一、二章 准备与例子
http://www.cnblogs.com/batteryhp/p/4868348.html 第一章 准备工作 今天开始码这本书--<利用python进行数据分析>.R和python都得 ...
- 利用python进行数据分析之绘图和可视化
matplotlib API入门 使用matplotlib的办法最常用的方式是pylab的ipython,pylab模式还会向ipython引入一大堆模块和函数提供一种更接近与matlab的界面,ma ...
- 利用Python进行数据分析——Numpy基础:数组和矢量计算
利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...
- 利用Python进行数据分析——Ipython
利用Python进行数据分析--Ipython 一.Ipython一些常用命令 1.TAB自动补全 2.变量+? 显示相关信息 3.函数名+??可以获取函数的代码 4.使用通配符* np.load? ...
随机推荐
- 永久解决IDEA中MAVEN项目总是将LANGUAGE LEVEL重置到5的问题
方法一 手动修改language level 不能解决问题 最近写代码,重新导入一下maven的依赖,代码就开始爆红. 查了下问题,是IDEA里面的language level变成了5. 把它改成8就 ...
- 20250709 - GMX V1 攻击事件: 重入漏洞导致的总体仓位价值操纵
背景 2025 年 7 月 9 日,GMX V1 遭受黑客攻击,损失约 4200 万美元资产.攻击者利用 executeDecreaseOrder 函数发送 ETH 的行为进行重入,绕过 enable ...
- Python 潮流周刊#111:Django迎来 20 周年、OpenAI 前员工分享工作体验(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 400+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- 如何理解hadoop Zookeeper Phoenix HBase Hive Mapreduce HDFS spark yarn之间的关系
以前电商平台数据量很小,现在有一份 PB 级的超大数据需要分析统计,比如对用户每日的关键词搜索进行词频统计,能够精琢定位用户需求. 我们以前的方法是使用 oracle 等传统数据库或者写 python ...
- Web前端交互利用Python跟大模型操作
Web前端交互利用Python跟大模型操作 一个简单的演示,如何把大模型应用集成到自己的应用场景当中. 这里的场景我们模拟的是在吃鸡游戏中,一个作战计划,是否符合老六的行为规范. 吃鸡游戏已经风靡很多 ...
- linux 笔记 (3)
$:符号代表一个shell变量. echo:打印输出 *:代表任意字符串 ?:代表单个字符 su:切换用户 grep:在文件中搜索字符串 ^:匹配行首 grep -n '^a' test.txt:匹配 ...
- 重剑无锋--从零开始建设k8s监控之总结(八)
前言 在前文中,prometheus基本的用法都简单的描述一遍,最后本文来讨论一下prometheus高可用的问题 环境准备 组件 版本 操作系统 Ubuntu 22.04.4 LTS docker ...
- vscode AC5编译出错:Error: L6406E
Error: L6406E: No space in execution regions with .ANY selector matching main.o(i.main). 解决办法: 在构建配置 ...
- 深度学习入门 (1)numpy+matplotlib
导入numpy 和 matplotlib import numpy as np import matplotlib.pyplot as plt sinx函数图像 x = np.arange(0,6,0 ...
- PPT(三)-合并形状
一.合并形状在哪 二.如何应用合并形状 合并形状时,先选择的元素先保留. 三.合并形状在PPT中最常用的就是用在绘制图标上 图标可以去阿里巴巴矢量图标库去下载www.iconfont.cn,然后直接插 ...