工作导入包
1. 导入包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
%config InlineBackend.figure_format = 'retina'# 设置图片清晰度
plt.rcParams['font.sans-serif'] = ['Simsun'] # 指定默认字体 Simsun为宋体,不指定为新罗马字体Times New Roman
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像时负号‘-’显示为方块的问题
from pylab import mpl
mpl.rcParams['font.size'] = 15 # 全局图片字体调节为15
import warnings
warnings.filterwarnings("ignore") # 忽略警告
# 导入自用包
import sys
sys.path.append(r'D:/script/')
import MIFunction as mf
Microsoft Yahei Font
微软雅黑
加入seaborn
风格,且显示宋体
import seaborn as sns
sns.set_style('darkgrid')
sns.set(font='Simsun', font_scale=1.5) # 解决Seaborn中文显示问题
2. 保存图片
plt.savefig('output_pltsave.png', format='png', bbox_inches='tight', dpi=300, transparent=True)
注:使用seaborn
的darkgrid
风格时记得把参数transparent
改为默认的False
。
facecolor='white'
背景颜色变白
3. 显示所有列
#显示所有列
pd.set_option('display.max_columns', None)
#显示所有行
# pd.set_option('display.max_rows', None)
4. 重新导入包
更改关键词MIFunction
import sys
keys=[]
for k in sys.modules.keys():
if "MIFunction" in k:
print(k)
keys.append(k)
for k in keys:
del sys.modules[k]
import MIFunction as mf
5. 查看变量数据概览
方法一:
# from pandas_profiling import ProfileReport
df.profile_report()
方法二:
def check_var(df, col): # 查看变量概览
'''
df: DataFrame
col: column's name
return/print: describe/value_counts and groupby.y.mean()
需要修改的部分: 把因变量y1_is_purchase 换成当前dataframe的因变量名
'''
if len(df[col].unique())>10: # 如果唯一值个数大于10,可认为是连续型变量
print(df[col].describe())
bins = np.unique(df[col].describe()[3:-1].values)
bins = np.append(bins, np.inf)
df['test'] = pd.cut(df[col], bins=bins, right=False)
print(df.groupby('test').y1_is_purchase.mean()) # 换
else: # 唯一值小于等于10,认为是离散型变量
print(df[col].value_counts().sort_values().sort_index())
print(df.groupby(col).y1_is_purchase.mean().sort_index()) # 换
if __name__ == '__main__':
check_var(trainData, col='si_tp')
6. 自定义画图颜色色圈色盘
colors = ['#DFE5EF', '#C3CFE1', '#9DB1CF', '#6F8DB9', '#4C6C9C', '#364D6E', '#333F50']
for n, i in enumerate(colors):
plt.bar(len(colors)-n, 1, color=i)
# 自定义彩色1
import matplotlib as mpl
from cycler import cycler
colors = ['#1f77b4', 'lightseagreen','#e377c2', '#f0d264', '#7fccde','orange', '#82c8a0', '#6698cb', '#cb99c5', '#fa5a5a']
mpl.rcParams['axes.prop_cycle'] = cycler(color=colors)
# 蓝色色圈
import matplotlib as mpl
from cycler import cycler
colors = ['#19497e', '#265f95', '#3975a6', '#508cb4', '#6ba0c2', '#89b5ce', '#a9c9da', '#c5d8e7', '#d7e4ef', '#e7eff7']
mpl.rcParams['axes.prop_cycle'] = cycler(color=colors)
# 自定义彩色2
import matplotlib as mpl
from cycler import cycler
colors = ['#ffdb5c','#58d484','#fb7293','#e7bcf3','#f1a4bd','#8ebad9','#ff9f7f','#67e0e3']
mpl.rcParams['axes.prop_cycle'] = cycler(color=colors)
# 橙色色圈
colors = ['#dd4d04', '#f26b15', '#f4721e', '#f9802d', '#fda35c', '#fdc48f', '#fdd5ad', '#fee0c1', '#fff3e6', '#fff5eb'] # 深色:#c64102
更多好看的颜色见: Python数据可视化利器Matplotlib,colors系列,颜色的指定形式
效果展示:
z. jupyter使用技巧
停止运行:ctrl+c 、按两下i 不行就按两下0(重启)
新的jupyter功能设置直接看这个:
jupyter notebook 自定义设置/插件设置/添加功能笔记
插件:Jupyter Notebook 安装插件
Jupyter Notebook 有哪些奇技淫巧?
Jupyter notebook 如何去掉 input输入框 前面的 运行按钮?
查看历史记录:
按z
,或者查看历史记录hisrtory
history
画实时动态图(https://blog.csdn.net/xyisv/article/details/80651334)
ps: 记得清除键ax.cla()
并且画在同一个ax
上
%matplotlib qt5