jupyter lab安装
之前写了一篇: Anaconda、Jupyter的安装部署及使用问题总结 最近又用python比较多,升级了一下本机的anaconda版本,并使用jupyter lab来编写python脚本,本文记录一下升级、使用过程。
安装anaconda
- 下载安装包 Anaconda3-2023.03-1-Windows-x86_64.exe
- 在windows下双击安装(按提示一步步安装)
- 启动命令行,注意:必须使用
Anaconda Powershell Prompt
安装图形界面扩展
pip install jupyter_nbextensions_configurator
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
#注意: 开启,需要先安装
pip install autopep8
修改配置
- 生成配置
jupyter lab --generate-config
# 默认的配置文件位置
~/.jupyter/jupyter_lab_config.py
- 生成密码
jupyter lab password
- 修改配置文件
c = get_config() #noqa
c.ServerApp.notebook_dir = 'D:\\python\\jupyter'
c.ServerApp.ip = '0.0.0.0'
c.ServerApp.allow_remote_access = False
c.ServerApp.port = 8888
c.ServerApp.open_browser = False
c.ExtensionApp.open_browser = False
c.LabServerApp.open_browser = False
c.ServerApp.allow_password_change = True
c.ServerApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$L2cAHGGUyMEglJ2+LHjuOQ$3KTGUuq9pMpk/LUjPwnb7s9bCK/oa8lKxobNy2cFkZ0'
启动jupyter lab
jupyter lab --ip localhost --port 8080
jupyter lab
nohup jupyter lab &
编程界面
pandas 2.x初体验
pandas 2.x 优点
Pandas2.x 的性能有巨大的提升,说是比pandas 1.x提高了32倍
- 更快和更有效的内存操作
- 在后台增加了对pyarrow的支持【甚至把这种支持被定义为一场革命(revolution)】,允许用户使用Apache Arrow作为pandas DataFrames和Series的替代数据存储格式。
- 当你在pandas 2.x中读或写Parquet文件时,它将默认使用pyarrow来处理数据,从而使操作更快、更节省内存
- 缺失值处理:
- 依靠NumPy来保存表格数据时,NumPy不支持字符串和缺失值。因此,对于缺失的数字,需要使用一个特殊的数字或NaN
- 在PyArrow中处理缺失数据时,在数据数组的旁边会有第二个数组,表示一个值是否存在,使得对空值的处理更加简单明了
- 写入时复制优化:当复制一个pandas对象,比如DataFrame或Series,pandas不是立即创建一个新的数据副本,而将创建一个对原始数据的引用,并推迟创建一个新的副本,直到以某种方式修改数据
- 索引: 更好的索引、更快的访问和计算
- 以前,pandas只支持int64、uint64和float64类型。
- 在Pandas 2.x中,Index将支持所有NumPy的数字类型,包括int8, int16, int32, int64, uint8, uint16, uint32, uint64, float32和float64。
安装pandas 2.x
pip install pandas==2.0.2 --user
pip install pyarrow==12.0.1
安装提示工具
- 安装lsp
- 在jupyter lab中安装插件【见下面的截图】: 在插件中搜索lsp,点击@krassowski/jupyterlab-lsp下的install安装
- 开启自动提示(Hinterland mode):若想实现jupyter notebook中类似Hinterland mode的自动提示,需要将
Continuous hinting
前面的复选框选中【在Settings–>Advanced Settings Editor中】
pip install jupyter-lsp
pip install python-lsp-server[all]
提示效果如下:
pandas代码示例
import io
import pandas as pd
from sqlite3 import connect
data = io.StringIO("""a,b,c,d
1,2.3,True,'10/11/12'
1,2.5,True,'12/11/10'
3,4.5,False,'12/11/10'""")
df = pd.read_csv(data, engine="pyarrow")
conn = connect(':memory:')
df.to_sql('test_data', conn)
pd.read_sql('SELECT a,b,c,d FROM test_data', conn, index_col='a')