当前位置: 首页 > news >正文

用pandas处理数据时,使变量能够在不同的Notebook会话页面进行传递,魔法命令%store

【需求来源】

在使用pandas时,有的时候我想将.ipynb文件分开写

  • 其中一个写清洗数据代码
  • 另外一个写数据可视化代码

【解决方案】

但是会涉及到变量转移问题,这个时候我通常使用的方法是:

1、在清洗完数据后导出到本地
2、在文件后面增加当前时间戳
3、使用%store魔法命令保存这个时间变量
4、然后去数据可视化的.ipynb文件读取这个带有时间变量的文件名

【代码实现】

Notebook1: 清洗数据.ipynb

import datetime
***************
***************
***************# 获取当前时间
now_time = datetime.datetime.now().strftime('%Y-%m-%d %H-%M')# 导出文件至本地,同时带时间后缀
df.to_excel(f'./全球数据{now_time}.xlsx',index=False)# 同步保存变量,准备给文件2使用
%store now_time

Notebook2:数据可视化.ipynb

import pandas as pd
import matplotlib.pyplot as plt# 读取文件1的变量
%store -r now_time# 通过文件路径,读取文件
df = pd.read_excel(f'./全球数据{now_time}.xlsx')'下面就可以放肆的在文件2画图了,在画图的时候记得提前运行一下代码解决中文和负号影响的问题'plt.rcParams['font.sans-serif']='Microsoft YaHei'# 显示中文
plt.rcParams['axes.unicode_minus'] = False # 消除中文负号影响
plt.rcParams['font.size'] = 8

【方法优化】来源于ChatGPT给出的解决方案

使用%store命令来存储变量会保持到你关闭当前的Jupyter Notebook会话为止。一旦关闭了Notebook,存储的变量将会被释放,除非你再次打开Notebook并使用%store命令来恢复它们。
如果你希望将变量持久化保存,以便在不同的Notebook会话之间都能访问到,你可以考虑将变量存储在文件中,然后在需要的时候从文件中读取。这种方式可以长期保存变量的值。例如:

# 将变量保存到文件中
with open('my_variable.txt', 'w') as file:file.write(str(my_variable))# 从文件中读取变量的值
with open('my_variable.txt', 'r') as file:my_variable = file.read()

这样做可以在不同的Notebook会话之间保持变量的值。不过要确保你保存的文件路径是可访问的,并且注意保护敏感数据。

http://www.lryc.cn/news/183655.html

相关文章:

  • 选择适合户外篷房企业的企业云盘解决方案
  • 松鼠搜索算法(SSA)(含MATLAB代码)
  • 折半+dp之限制转状态+状压:CF1767E
  • 如何写出优质代码
  • ChatGLM2-6B的通透解析:从FlashAttention、Multi-Query Attention到GLM2的微调、源码解读
  • 3D人脸生成的论文
  • 解决问题:可以用什么方式实现自动化部署
  • 【数据结构】链表栈
  • Android笔记:Android 组件化方案探索与思考
  • MeterSphere v2.10.X-lts 双节点HA部署方案
  • Java进阶篇--网络编程
  • PyTorch入门之【CNN】
  • 马斯洛需求层次模型之安全需求之云安全浅谈
  • Pikachu靶场——远程命令执行漏洞(RCE)
  • 【WSN】无线传感器网络 X-Y 坐标到图形视图和位字符串前缀嵌入方法研究(Matlab代码实现)
  • Linux定时任务
  • 【Overload游戏引擎分析】画场景网格的Shader
  • 【JavaEE】多线程进阶(一)饿汉模式和懒汉模式
  • C++树详解
  • 支付环境安全漏洞介绍
  • 抄写Linux源码(Day16:内存管理)
  • Cookie和Session详解以及结合生成登录效果
  • Spring基础以及核心概念(IoC和DIQ)
  • 《C和指针》笔记32:多维数组初始化
  • 零食食品经营小程序商城的作用是什么
  • Java泛型--什么是泛型?
  • LabVIEW工业虚拟仪器的标准化实施
  • JavaScript系列从入门到精通系列第十七篇:JavaScript中的全局作用域
  • 汇编指令集合
  • TinyWebServer整体流程