Python数据科学平台JupyterLab学习笔记

48次阅读
没有评论

共计 2467 个字符,预计需要花费 7 分钟才能阅读完成。

JupyterLab 是 Jupyter Notebook 的升级版。

安装:pip install jupyterlab,启动:jupyter lab

JupyterLab 官网:https://jupyter.org/

默认文件保存路径

查看 JupyterLab 默认文件保存路径:

import os
os.path.abspath('.')

快捷键

编辑模式快捷键

编辑模式即 cell 编辑模式,可使用以下快捷键:

快捷键 作用 说明
Esc 切换到命令模式
Ctrl+Enter 运行本单元
Shift+Enter 运行本单元,选中下一单元 新单元默认为命令模式
Alt+Enter 运行本单元,在下面插入一单元 新单元默认为编辑模式
Ctrl+Up 跳到单元开头,或者 Ctrl+Home
Ctrl+Down 跳到单元末尾,或者 Ctrl+End
Ctrl+Left 跳到左边一个字首
Ctrl+Right 跳到右边一个字首

命令模式快捷键

退出 cell 编辑模式,即可使用命令模式快捷键:

快捷键 作用 说明
Enter 进入编辑模式
Y 单元转入 code 状态
M 单元转入 markdown 状态
R 单元转入 raw 状态
1 设定 1 级标题 仅在 markdown 状态下时建议使用,如果单元处于其他状态,则会强制切换到 markdown 状态

代码格式化

JupyterLab 本身并不支持代码格式化,需要安装 jupyterlab_code_formatter 插件:pip install jupyterlab_code_formatter

插件 jupyterlab_code_formatter 支持 Python 常见的代码格式化包,如 autopep8、black、isort 等,
插件安装完成后,需要安装 Python 代码格式化包。

插件默认支持 isort 和 black 包,安装这两个包后续会避免很多问题,安装命令:pip install black isort

重启 JupyterLab,点击 JupyterLab 左侧栏插件图标,在 INSTALLED 列表下,可看到 jupyterlab_code_formatter 已安装。

格式化方式

最简单的方式是通过鼠标右键菜单来格式化代码:右键 -> Format cell。

也可通过工具栏按钮来格式化代码,在笔记本上方工具栏中有一个格式化按钮。单击按钮会对单元格进行代码格式化。

另外,可以设置保存笔记本自动格式化代码:Settings -> Settings Editor -> Jupyterlab Code Formatter -> Auto format config。

使用

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei' # 设置中文显示
## 行命令,将图表直接嵌入到 Notebook 之中
%matplotlib inline

# 1. 加载数据
data1=pd.read_excel('1.xlsx', sheet_name='sheet1')
data2=pd.read_excel('2.xlsx', sheet_name='sheet2')

data=pd.concat([data1,data2], axis=0) # 按行拼接
data.head(5)
data.info()

# 2. 数据清洗
# 2.1 数据预处理(重复值、缺失值、格式调整)data.drop_duplicates(keep='first', inplace=True) # 删除重复记录
data.dropna(axis=1, inplace=True) # 按列删除 NA 列并修改源数据

data.dropna(axis=0, how='any', inplace=True) # 删除有 NA 的整行数据

# 格式调整
def data_deal(number):
    new_number += 1
    return new_number
data['新列'] = data['列'].map(data_deal)

## 2.2 异常值处理
data.describe()
data = data[data['金额'] != 0] # 数据量小可以采用直接删除

data.drop(columns=['列'], inplace=True, axis=1) # 删除列
data.reset_index(drop=True, inplace=True) # 更新索引

# 3. 数据规整
## 时间提取
data['time'] = pd.to_datetime(data['字符串时间'])
data['hour'] = data['time'].dt.hour
data['minute'] = data['time'].dt.minute
data['month'] = data['time'].dt.month

# 4. 数据分析
round(data['列'].mean(), 2) # 求平均
dishes_count = data['列'].value_counts()[:10] # 频数统计,取前 10

# 分组求和
group_sum = data[['列 1', '列 2', '列 3']].groupby(by='列 1').sum()
sort_counts = group_sum.sort_values(by='列', ascending=False) # 降序排序

data['列'] = data['列'].str.strip()
data.groupby(['月份', '列']).size().unstack()

# 5. 数据可视化
dishes_count.plot(kind='line', color=['r']) # 折线图
dishes_count.plot(kind='bar', fontsize=16, color=['r','b', 'g']) # 直方图
plt.title('标题')
plt.xlabel('x 轴', fontsize=16)
plt.ylabel('y 轴', fontsize=16)
for x,y in enumerate(dishes_count):
    plt.text(x, y+2, y, ha='center', fontsize=12) # 水平居中显示 

正文完
post-qrcode
 0
三毛
版权声明:本站原创文章,由 三毛 于2024-01-22发表,共计2467字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)