Python

  • 一、基础知识
    • 1.import ... as ... 与from ... import ... 的区别
    • 2.Python 中 type、 dtype、 astype 用法区别
    • 3.字符串相关操作
    • 4.Rstudio如何快速重启
    • 5.获取工作路径
    • 6.py转pynb
    • 7.显示所有的数据
    • 8.whl包、tar包、tar.gz包的区别
    • 9.apply与进度条的结合
  • 二、jupyter小插件
    • 1.查看内存使用情况
    • 2.安装扩展插件
  • 三、Pandas
    • 1.数据查看
    • 2.转置
    • 3.删除
    • 4.排序
    • 5.删除重复值
    • 6.列名重命名
    • 7.行名重命名
    • 8.横向拼接
    • 9.纵向拼接(类似于sql中的join)
    • 10.数据转换
    • 11.dataframe表格打印输出对齐
    • 12.将一列中所有重复的值都设置为空白单元格
    • 13.填充空白单元格
    • 14.获取dateframe最后一行结果(不需要知道有多少行)
    • 15.统计基础功能
    • 16.数据分组
    • 17.重置索引
    • 18.返回某一列最大值对应索引
    • 19.dataframe的行数和列数
    • 20.读取与写入
    • 21.转化为dataframe
    • 22.merge模糊匹配
    • 23.将单元格中的多个数据拆分为多行数据
    • 24.dataframe转dict
  • 四、numpy
    • 1.在range中使用小数
    • 2.npy文件的创建和读取
    • 3.计算分位数
  • 五、matplotlib.pyplot
    • 1.设置画布大小
    • 2.中文正常显示
    • 3.多个子图
    • 4.折线图(最基础)
    • 5.散点图
    • 6.柱状图
    • 7.饼图
    • 8.改变线和点的颜色和形状
    • 9.添加横纵坐标标签
    • 10.设置文字说明
    • 11.坐标轴设置
    • 12.添加图例
    • 13.保存图片
  • 六、Docx
    • 1.页边距设置
    • 2.插入段落、文字、表格、分页等
    • 3.行转列
    • 4.设置标题中文字体
    • 5.表格设置
    • 6.段落设置
    • 7.字体设置
    • 8.输出成docx
  • 七、sklearn
    • 1.归一化与反归一化
  • 八、tensorflow
  • 九、keras
  • 十、一些好用的包
    • 1.copy
    • 2.BytesIO
    • 3.robjects

一、基础知识

1.import … as … 与from … import … 的区别

  • import是python提供的用于导入模块的机制,导入是的整个模块的内容
  • from import 用于导入一个模块中的某一个部分,比如一个函数或者一个类等。

2.Python 中 type、 dtype、 astype 用法区别

函数 说明 返回参数类型
type(object) 返回object对象的类型 包括数据类型(int、float)和数据结构类型(list、dict、numpy.ndarray)
arr.dtype 返回数组中的数据元素类型 如:int64、float64
arr.astype(dtype) 修改数组中数据元素类型 返回参数类型由dtype决定
  • type()属于python内置函数,可返回参数对象的数据类型或数据结构类型
  • dtype出自numpy.dtype,用于查看数组的数据元素类型时需用 arr.dtype 属性的形式
  • astype出自numpy.chararray.astype,改变arr中所有数据元素的类型为指定的dtype格式,返回一个修改后的arr。

3.字符串相关操作

  1. 字符串切割
str[1:5]
  1. 字符串拼接
','.join(str) # 也可以用于列表、元组、字典

4.Rstudio如何快速重启

ctrl/cmd + shift + F10

5.获取工作路径

import os
os.getcwd() # 获得当前工作目录
os.chdir('') # 更改路径,''里面为更改的路径

6.py转pynb

%load file_name.py

7.显示所有的数据

  在用jupyter时我们有时候需要查看所有的数据,这时候需要我们把所有的行和列都输出。

from IPython.display import display
pd.set_option('display.max_columns', None) # 输出所有的列
pd.set_option('display.max_rows', None) # 输出所有的行

8.whl包、tar包、tar.gz包的区别

whl包、tar包、tar.gz包的区别及安装方法

9.apply与进度条的结合

from tqdm import tqdm
tqdm.pandas(desc = 'apply')
df = data.progress_apply(function,axis = 1)

二、jupyter小插件

1.查看内存使用情况

# 安装jupyter-resource-usage
## pip安装与conda安装
pip install jupyter-resource-usage
conda install -c conda-forge jupyter-resource-usage
## 查看jupyter book的版本
jupyter notebook --version
## 若jupyter notebook版本低于5.3,需要手动使其生效
jupyter serverextension enable --py jupyter-resource-usage --sys-prefix
jupyter nbextension install --py jupyter-resource-usage --sys-prefix
jupyter nbextension enable --py jupyter-resource-usage --sys-prefix

2.安装扩展插件

# 安装Jupyter扩展插件
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

三、Pandas

import pandas as pd
from pandas.core.frame import DataFrame

pandas 是python的数据分析库,提供快速、灵活和富有表现力的数据结构,用于数据挖掘和数据分析,同时也提供数据清洗功能,与numpy、matplotlib并称,成为数据分析必学的三个库。Pandas 的主要功能如下。
Pandas 数据结构—DataFrame。DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共同用一个索引)。DataFrame包括index和values。

1.数据查看

df.describe()

2.转置

df.T

3.删除

df.drop([columns],axis = 1,inplace = False)
  • axis = 1 删除列,axis = 0删除行
  • inplace = True删除后改变原数据,False生成新数据,不改变原数据

4.排序

  1. 按值排序
df.sort_values(ascending=False, by = columns, axis=0)
  • ascending = False:降序排列,True:升序排列
  • axis=0按行排序,1按列排序
  1. 按索引排序
df.sort_index()
  1. 添加排名
df['rank'] = df[column].rank(method='first', ascending=False).astype('int')
  • [method]:‘first’当遇到重复的排名,第一次出现的排名靠前
  • [ascending]:False为逆序排列,True为正序排列

5.删除重复值

df.drop_duplicates()

6.列名重命名

  1. 查看所有列名
df.columns
  1. 列名重命名
df.rename(columns = {'':''}, inplace = True)
  • [inplace]:True修改原数据;False生成新数据,不改变原数据

7.行名重命名

  1. 查看所有行名
df.index
  1. 列名重命名
df.rename(index= {'':''}, inplace = True)
  • [inplace]:True修改原数据;False生成新数据,不改变原数据

8.横向拼接

pd.concat([a,b],axis = 0)

9.纵向拼接(类似于sql中的join)

pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False)
  • how:用什么方式进行连接,inner/left/right/outer
  • on:连接的键,若两个dataframe键名相同,则用on,不同用left_on/right_on
  • left_index/right_index:用索引当做连接键,此时为True

10.数据转换

数据转换一般用map和apply,map主要用于series的转换,apply是series和dataframe都可以。

df.apply(lambda x:function(x),axis =1)

11.dataframe表格打印输出对齐

  1. print输出
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
pd.set_option('display.width', 180)  # 设置打印宽度(**重要**)
  1. jupyterNoterbook输出
from IPython.display import display
display(df1)
display(df2)

12.将一列中所有重复的值都设置为空白单元格

import numpy as np
for col in df.columns:df[col][df[col].duplicated()] = np.nan # 也可以用其他想替换的字符,此处为空

13.填充空白单元格

  1. 判断是否有空值
df[df.isnull()==True].count()
  1. 填充空白单元格
df.fillna(0) #可以替换成任何想要的字符

14.获取dateframe最后一行结果(不需要知道有多少行)

df.values[-1]

或者

df.iloc[-1]

15.统计基础功能

df.count()
df.min()
df.mean()
df.sum()
df.median()
df.cumsum() # 累计和
df.cumprod() # 累计积

16.数据分组

df.groupby(df[columns]).agg({'':''})

17.重置索引

df.reset_index()

18.返回某一列最大值对应索引

df[column].idxmax()

19.dataframe的行数和列数

df.shape[0] # 返回行数
df.shape[1] # 返回列数

20.读取与写入

df.to_excel # 写入到 excel 文件
pd.read_excel # 读取 excel 文件

21.转化为dataframe

df = pd.DataFrame(data)

22.merge模糊匹配

Pandas实现模糊匹配Merge数据的方法

23.将单元格中的多个数据拆分为多行数据

将单元格中的多个数据拆分为多行数据

24.dataframe转dict

data_dict = dict(zip(data['key'],data['value']))

四、numpy

1.在range中使用小数

import numpy as np
np.arange(0,1,0.1)

2.npy文件的创建和读取

np.save(r'df.npy',df) # 创建npy文件
df= np.load(r'df.npy', allow_pickle=True) # 读取npy文件

3.计算分位数

import numpy as np
np.percentile(data, (25, 50, 75), interpolation='midpoint')

五、matplotlib.pyplot

1.设置画布大小

plt.figure(figsize=(10, 5))

2.中文正常显示

plt.rcParams['font.family'] = 'SimSun' # 解决中文显示问题
plt.rcParams['axes.unicode_minus'] = False # 解决中文显示问题

3.多个子图

plt.subplot(121) # 1行2列,第1个
plt.subplot(122) # 1行2列,第2个

4.折线图(最基础)

plt.plot(x,y)
plt.show()

5.散点图

plt.plot(x,y,'o')
plt.show()

若要与折线图叠加

plt.plot(x,y)
plt.plot(x,y,'o')
plt.show()

6.柱状图

plt.bar(x, y, [label], [align], [alpha], [color], [width],[bottom])

参数说明:
[x, y]:绘制柱状图的数据
[label]:字符串,柱状图的图例名称
[align]:字符串,指定x轴上对其方式,‘center’居中,‘edge’边缘
[alpha]:可用0.8,透明度
[color]:柱状图的填充色,可用RGB
[width]:标识柱状图的宽度,取值在0-1之间,默认为0.8
[bottom]:柱状图底部离横轴的距离,可用于制作堆叠柱状图

7.饼图

plt.pie(x, [explode], [labels], [colors], [autopct], [pctdistance],  [labeldistance], [startangle], [radius], [textprops], **kwargs)

参数说明:
x:数组,绘制饼状图的数据。 
[explode]:默认值为None的可选参数。若非None,则是和x相同长度的数组,用来指定每部分的离心偏移量。
[labels]:列表,指定每个饼块的名称,默认值None,为可选参数。 
[colors]:特定字符或数组,指定饼图的颜色,默认值None,为可选参数。
[autopct]:特定字符,指定饼图中数据标签的显示方式,默认值None,为可选参数。
[pctdistance]:浮点数,指定显示比例距离圆心的距离。默认值0.6,为可选参数。
[labeldistance]:浮点数,指定每个扇形对应标签与圆心的距离,默认值1.1,为可选参数。
[startangle]:浮点数,指定从x轴逆时针旋转饼图的开始角度,默认值None,为可选参数。
[radius]:浮点数,指定饼图的半径,默认值1,为可选参数。
[textprops]:字典,设置文本对象的字典参数,默认值None,为可选参数。

8.改变线和点的颜色和形状

plt.plot(x,y,alpha1,alpha2,alpha3,...[alphan])

Alpha:参数

  • 可以是颜色(甚至可以使用RGB)
    链接: RGB颜色
  • 可以是线型
  • 实线 – 虚线 -. 形式即为-. : 细小的虚线
  • 可以是点型
    s–方形 h–六角形 H–六角形 *–*形 ±-加号 x–x形 d–菱形 D–菱形 p–五角形

9.添加横纵坐标标签

plt.xticks([index + bar_width for index in x], df[column], size)
plt.yticks(size)

10.设置文字说明

plt.text(x, y, [string], [fontsize], [va], [ha])

参数说明:
[x, y]:表示坐标位置
[string]:表示说明文字
[fontsize]:表示字体大小
[va]:垂直对齐方式 ,参数:[ ‘center’ | ‘top’ | ‘bottom’ | ‘baseline’ ]
[ha]:水平对齐方式 ,参数:[‘center’|‘right’|‘left’]

11.坐标轴设置

%matplotlib inline

这是一个魔法函数(Magic Functions)。 官方给出的定义是:IPython有一组预先定义好的所谓的魔法函数(Magic Functions),你可以通过命令行的语法形式来访问它们。 使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个参数指定matplotlib图表的显示方式。 inline表示将图表嵌入到Notebook中。

  1. 坐标轴负号正常显示
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['SimHei']     # 显示中文
# 为了坐标轴负号正常显示。matplotlib默认不支持中文,设置中文字体后,负号会显示异常。需要手动将坐标轴负号设为False才能正常显示负号。
matplotlib.rcParams['axes.unicode_minus'] = False
# 添加坐标轴
plt.xlabel('')
plt.ylabel('', [fontsize], [fontname])
  1. 坐标轴的区间
plt.xlim(x_min,x_max)
plt.ylim(y_min,y_max)

12.添加图例

plt.legend([loc], [fontsize], [ncol])

参数说明:
[loc]:图例在画布中的位置
[ncol]:设置图例分为n列展示
转载:python - matplotlib.legend()函数用法解析

13.保存图片

plt.savefig(path, format='jpg', dpi=3000, bbox_inches='tight')

参数说明:
[path]:图片保存地址,可以保存在本地,也可以保存到BytesIO
[dpi]:设置图片像素,越高像素越大
[format]:设置保存图片类型。比如“png”,“pdf”,“svg”等
[bbox_inches]:只有图形给定部分会被保存。设置为“tight”用以恰当的匹配所保存的图形。

六、Docx

from docx import Document

1.页边距设置

doc = Docunment()
doc.sections[0].left_margin = Inches(1)
doc.sections[0].right_margin = Inches(1)

2.插入段落、文字、表格、分页等

  1. 插入段落
paragraph = doc.add_paragraph()
  1. 段落中增加文字
run = paragraph.add_run
  1. 插入表格
table = doc.add_table(nrow, ncol)
  1. 插入图片
img = run.add_picturn()
  1. 插入分页
doc.add_page_break()

3.行转列

from docx.enum.section import WD_ORIENT
document = Document()
section = document.sections[0]
new_width, new_height = section.page_height, section.page_width
section.orientation = WD_ORIENT.LANDSCAPE
section.page_width = new_width
section.page_height = new_height

4.设置标题中文字体

from docx.oxml.ns import qn
from docx.shared import Pt
title = document.add_heading(level=level)
title_run = title.add_run(text)
title_run.font.size = Pt(size) # 设置字体大小,小四对应值为12
title_run.font.name = font # 设置字体类型属性
title_run.element.rPr.rFonts.set(qn('w:eastAsia'), font)

5.表格设置

  1. 表格类型
table.style = 'Table Grid'
  1. 表格设置自动调整列宽(默认为真)
table.autofit = True
  1. 表居中
table.alignment = WD_TABLE_ALIGNMENT.CENTER
  1. 获取行列对象
row = table.rows[0] # 获取行对象
col = table.columns[0] # 获取列对象
  1. 获取表格某一行某一列的单元格对象列表
row_cells = table.row_cells(0) # 获取表格一行的单元格对象列表
col_cells = table.column_cells(0) # 获取一列的单元格对象列表
  1. 设置背景颜色
shading_elm=parse_xml(r'<w:shd {} w : fill = "4682B4"/>'.format(nsdecls('w')))
cell._tc.get_or_add_tcPr().append(shading_elm)
  1. 单元格对齐
# 垂直对齐方式:'TOP'-0, 'CENTER'-1, 'BOTTOM'-3, 'BOTH'-101
# 水平对齐方式:'LEFT'-0, 'CENTER'-1, 'RIGHT'-2
table1.cell(0, 0).vertical_alignment = WD_ALIGN_VERTICAL.TOP #垂直对齐
table1.cell(0,0).paragraphs[0].alignment=WD_PARAGRAPH_ALIGNMENT.CENTER
  1. 合并单元格
cell_new = table1.cell(2, 0).merge(table1.cell(2, 1)).merge(table1.cell(2, 2))

6.段落设置

  1. 居中
paragraph.paragraph_format.alignment =WD_ALIGN_PARAGRAPH.CENTER
  1. 段前段后间距
gs.paragraph_format.space_before = Pt(24) # 段前间距
gs.paragraph_format.space_after = Pt(24) # 段后间距
  1. 行间距
gs.paragraph_format.line_spacing = 1.5
  1. 首行缩进
gs.paragraph_format.first_line_indent = Pt(24)

7.字体设置

  1. 字体格式
for run in gs.runs:run.font.name = 'Times New Roman'  # 设置 run 中的西文字体  run.font.element.rPr.rFonts.set(qn('w:eastAsia'), 'YaHei')run.font.size = Pt(30)run.font.color.rgb = RGBColor(51, 102, 153)run.font.bold = Truerun.wordWrap = 'CJK' # 自动换行

8.输出成docx

doc.save(r'')

七、sklearn

1.归一化与反归一化

from sklearn.preprocessing import MinMaxScaler
min_max_scaler = MinMaxScaler()# 归一化
train_scaler = min_max_scaler.fit_transform(train)# 反归一化
predict = min_max_scaler.inverse_transform(predict_scaler)

八、tensorflow

九、keras

十、一些好用的包

1.copy

import copy
df1 = copy.deepcopy(df) # 对df1的修改不会影响df的值

2.BytesIO

from io import BytesIO
# 可以在内存中读写bytes,生成的图片可以不用导出到本地
jpg_path = BytesIO()  # 在内存中取一个位置用于存放svg文件

3.robjects

import rpy2.robjects as robjects
# 可以在python中调用R语言
robjects.r("r_script")

[r_script]:R代码

robjects.r.source("file.r")

[file.r]:R脚本文件

Python自我学习笔记相关推荐

  1. python做直方图-python OpenCV学习笔记实现二维直方图

    本文介绍了python OpenCV学习笔记实现二维直方图,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/dd/d0d/tutorial_py_2d ...

  2. python 正则学习笔记

    python 正则学习笔记 官方document #1.0 import re m=re.search('(?<=abc)def','cxabcdefgb')print(m.group(0))# ...

  3. Python数据结构学习笔记——链表:无序链表和有序链表

    目录 一.链表 二.无序链表 实现步骤分析 三.无序链表的Python实现代码 四.有序链表 实现步骤分析 五.有序链表的Python实现代码 结语 一.链表 链表中每一个元素都由为两部分构成:一是该 ...

  4. Python数据结构学习笔记——队列和双端队列

    目录 一.队列的定义 二.队列 实现步骤分析 三.队列的Python实现代码 四.队列的应用 六人传土豆游戏 五.双端队列的定义 六.双端队列 实现步骤分析 七.双端队列的Python实现代码 八.双 ...

  5. Python数据结构学习笔记——栈

    目录 一.栈的定义和特性 (一)栈的定义 (二)栈的反转特性 二.实现分析步骤 三.栈的Python实现代码 四.栈的应用 (一)匹配圆括号 (二)匹配符号 (三)模2除法(十进制转二进制) (四)进 ...

  6. Python基础学习笔记三

    Python基础学习笔记三 print和import print可以用,分割变量来输出 import copy import copy as co from copy import deepcopy ...

  7. python opencv 直方图均衡_详解python OpenCV学习笔记之直方图均衡化

    本文介绍了python OpenCV学习笔记之直方图均衡化,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/d5/daf/tutorial_py_hi ...

  8. Python基础学习笔记之(二)

    Python基础学习笔记之(二) zouxy09@qq.com http://blog.csdn.net/zouxy09 六.包与模块 1.模块module Python中每一个.py脚本定义一个模块 ...

  9. Python基础学习笔记之(一)

    Python基础学习笔记之(一) zouxy09@qq.com http://blog.csdn.net/zouxy09 前段时间参加微软的windows Azure云计算的一个小培训,其中Pytho ...

最新文章

  1. 2022-2028年中国康养地产行业市场需求前景及投资战略分析报告
  2. Bootstrap 环境安装
  3. 菜单自定义图标_操作系统任务栏了解多少,Windows server 2008 R2自定义通知区域...
  4. php网络学习,网络学习
  5. Oracle11g手动创建数据库方法
  6. Yam旗下Degenerative Finance已上线uSTONKS和uGAS奖励计划
  7. 智能风控中的全场景化的模型组合包括哪些内容
  8. Python还有发展前景吗?现在该怎么去学习?
  9. python填空题及答案知乎_zhihu-python
  10. 测试鼠标传感器的软件,光电鼠标传感器的精密测量与控制系统 - 嵌入式设计应用 - 电子发烧友网...
  11. js获取屏幕高度、宽度
  12. python整数转换成英文表示
  13. 推荐10个超级实用的电脑软件 (可以快速提高工作效率)
  14. centos 7 DVD版设置基础软件仓库出错(error setting up base repository)
  15. 你还在找全国省市县大全吗
  16. App 测试中 ios 和 Android 有哪些区别
  17. 8种zk-SNARK构建的比较
  18. matlab 2ask,(最新整理)基于MATLAB的2ASK和2FSK调制仿真(通信原理实验报告)
  19. 虚拟主机服务器架设,云虚拟主机架设服务器
  20. 更新:为 NGINX 配置免费的 Let‘s Encrypt SSL/TLS 证书

热门文章

  1. Developing a Large Scale Application with a Single Page Application (S
  2. 喜马拉雅android sdk接入,喜马拉雅(com.ximalaya.ting.android) - 8.0.1.3 - 应用 - 酷安
  3. ISA 2004 介绍
  4. 中百信玄武库Kubernetes实践与探索
  5. 压缩算法——谷歌Webp
  6. C语言督学营 学习笔记 (Day11~12)
  7. R语言数据框中创建新的变量的三种方法
  8. python将文字转换为语音_python把文字转成语音
  9. 解析协同办公“协同”为何意,数字化办公又如何轻松“破题”?
  10. pyhton 对列表按照日期进行排序