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

【需求来源】

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

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

【解决方案】

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

1、在清洗完数据后导出到本地

2、在文件后面增加当前时间戳

3、使用%store魔法命令保存这个时间变量

4、然后去数据可视化的.ipynb文件读取这个带有时间变量的文件名

【代码实现】

Notebook1: 清洗数据.ipynb

python 复制代码
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

python 复制代码
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会话之间都能访问到,你可以考虑将变量存储在文件中,然后在需要的时候从文件中读取。这种方式可以长期保存变量的值。例如:

python 复制代码
# 将变量保存到文件中
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会话之间保持变量的值。不过要确保你保存的文件路径是可访问的,并且注意保护敏感数据。

相关推荐
梅雅达编程笔记11 小时前
零基础学 Python 第14章 | 模块、包与第三方库
开发语言·python·django·numpy·pandas
梅雅达编程笔记14 小时前
零基础学 Python 第15章 | 类与对象:面向对象编程入门
开发语言·python·django·numpy·pandas
benchmark_cc20 小时前
Python 量化核心基础:前复权、后复权与不复权有什么区别?基于 QuantDash 的数据处理与回测避坑指南
开发语言·python·pandas·量化策略·量化交易·quantdash
人工干智能2 天前
科普:Pandas 索引器 loc 与 iloc 的编程思维
java·人工智能·pandas
梅雅达编程笔记2 天前
编程启蒙|Scratch 转 Python 系列第9天:字典/哈希表积木双向对照(AI大模型参数配置表实战)
开发语言·人工智能·python·numpy·pandas
benchmark_cc2 天前
用 Streamlit + QuantDash 10分钟拼装一个跨市场持仓风险与相关性诊断面板
开发语言·python·pandas·量化策略·量化交易·quantdash
benchmark_cc2 天前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
weixin_307779135 天前
Python Pandas读取Excel Sheet生成SQL WHERE条件
python·sql·自动化·excel·pandas
梅雅达编程笔记6 天前
零基础学 Python 第7章 | 字典 dict:键值对存储
开发语言·python·beautifulsoup·numpy·pandas
你想知道什么?10 天前
Pandas学习笔记
笔记·学习·pandas