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. opencv高效遍历图像
  2. 鼓浪屿天气预报软件测试,厦门鼓浪屿天气预报15天
  3. 地区省份城市sql信息
  4. mysql的安装胚子_下列哪个制剂是以主要药味缩写加剂型的原则命名的
  5. 30幅让人震撼的精美高速摄影作品欣赏
  6. 从五个维度来计算互联网产品单个用户的价值
  7. js Date 生成某年某月的天数
  8. 数据结构 - 二叉树(前序中序后序查找)
  9. 【分析】浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang)...
  10. 在同一窗口能显示多个幻灯片_如何让两个PPT文件在电脑屏幕中同时显示
  11. wien10 / win11双开微信
  12. PHP学习之GD库图像处理
  13. effective python pdf下载-《Effective Python》电子书pdf下载百度网盘
  14. Gym 100015 F Fighting for Triangles 博弈,状压dp
  15. 浅谈ajax使用方法
  16. PLC模拟量输出 模拟量输出FB(FX3U连接FX2N-2DA)
  17. Hi3516DV300编译环境搭建问题及解决
  18. 《惢客创业日记》2021.08.06-09(周五)惢客与征信的区别(下)
  19. 文科生学python_一个文科生的python心路历程
  20. 要一颗平常心,时刻保持好自己的状态

热门文章

  1. 解决 GlobalSign 证书导致 Mac 上京东、淘宝等网站打不开的问题
  2. 分布式消息中间件应用实践
  3. 设计模式(三):旅行的角度理解抽象工厂模式
  4. 文思海辉金融:交易银行未来一站式服务体系建设的实践与思考
  5. 如何免费在线破解自己的CS学位
  6. xampp+64位+php7.0,XAMPP 64位下载 XAMPP v7.4.7.0 for Windows 多国语言官方安装版 下载-脚本之家...
  7. crash linux主要命令,kdump和crash的配置方法以及故障分析方法
  8. 【OTT】OTT Media Grinder (OTT TV 质量评价设备)
  9. 互联网日报 | 链家宣布取消电话营销;《英雄联盟》手游正式开启公测;AMD同意350亿美元收购赛灵思...
  10. 哈尔滨小学计算机上课时间,哈市中小学各校新学期作息时间调整汇总,看看有没有你的学校!...