jupyter lab安装

之前写了一篇: Anaconda、Jupyter的安装部署及使用问题总结 最近又用python比较多,升级了一下本机的anaconda版本,并使用jupyter lab来编写python脚本,本文记录一下升级、使用过程。

安装anaconda

安装图形界面扩展

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 &

编程界面

anaconda安装后升级python_anaconda安装后升级python_02

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]

anaconda安装后升级python_python_03


提示效果如下:

anaconda安装后升级python_jupyter lab_04

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')