利用Python进行数据分析 Unit 2

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函数一样,其输出可以付给一个变量

image.png

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

image.png

可以使用isinstance函数来检查一个对象是否是特定类型的实例

image.png

什么是属性?

答: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比较的是对象地址 ==比较的是对象(变量)内容

image.png

可变对象和不可变对象

答:列表、字典、Numpy数组是可变对象(对象和对象值都可以被修改)
字符串和元组是不可变对象
但是,要记住,你可以修改一个对象并不代表你应该那样做

2.3.2 标量类型

数值类型:int(可以存储任意大小的数字)和float(双精度64位)
python中除法(/)会将结果自动转为浮点数

字符串:对于含有换行符的字符串,你可以使用三个单引号(''' 字符串''') 或三个双引号("""字符串""")

image.png

反斜杠(\)的用处?

答:\是一种转义符号,用来指明特殊符号,比如换行符号\n

image.png

如果字符串有大量反斜杠需要转义,如果都使用\转义,显得很麻烦,此时我们只需要在字符串前面加一个前缀符号r,表明这些字符是原生字符;

image.png

格式化字符串format

image.png

布尔值

布尔值可以和or联用

image.png

类型转换

int 、str、bool、float既是数据类型又是类型转换函数

时间和日期

python中内建的有datetime模块,提供了datetime、date和time类型
datetime类型是包含日期和时间信息
对于datetime对象,可以对其使用date方法和time方法获取它的date和time对象

image.png

datetime类型数据可以通过strftime()转为字符类型
字符类型数据可以通过strptime()转为datetime类型
替换时间序列数据时,使用replace()函数

image.png

image.png

for循环

for循环用于遍历一个集合(比如元组或者是列表)或者是一个迭代器 continue关键字可以跳过continue之后的代码,进入下一次循环 break关键字可以结束一个for循环

pass 什么都不做语句

range

range函数返回一个迭代器,该迭代器生成一个等差整数数组 这个等差数组的起始数、结尾数和步进(可正可负)可以传参给range函数

image.png

三元表达式

python中的三元表达式允许你将一个if-else代码块联合起来,优点是压缩代码量

image.png

posted @ 2023-01-07 21:06  wuhaoliu  阅读(15)  评论(0)    收藏  举报  来源