- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一段看似简单的代码,但不知何故它不起作用。代码的目标是找到一个文件夹中的所有 pickle 数据,在 for 循环中加载第一个作为 pandas 数据框,它被命名为一个以前不存在的变量,如果变量存在,它应该加载剩余的 pickle文件作为 pandas 并将它们 append 到第一个循环中新创建的 pandas 数据框:
import pandas as pd
import os
# Creating the first Dataframe using dictionary
df1 = pd.DataFrame({"a":[1, 2, 3, 4],
"b":[5, 6, 7, 8]})
# Creating the Second Dataframe using dictionary
df2 = pd.DataFrame({"a":[1, 2, 3],
"b":[5, 6, 7]})
df1.append(df2)
打印精美:
a b
0 1 5
1 2 6
2 3 7
3 4 8
0 1 5
1 2 6
2 3 7
但是,当我尝试在 for 循环中 append 我存储的 pickle 文件中的数据帧时,它不会打印错误,但它仅适用于第一个数据帧:
df1.to_pickle("DF1.pkl")
df2.to_pickle("DF2.pkl")
files = [f for f in os.listdir('.') if os.path.isfile(f)]
#The line above should produce the line below
files=["DF1.pkl", "DF2.pkl"]
for i in files:
if ".pkl" in i:
if "ALL_DATA" not in globals():
ALL_DATA=pd.read_pickle(i)
else:
ALL_DATA.append(pd.read_pickle(i))
只打印:
a b
0 1 5
1 2 6
2 3 7
3 4 8
谁能帮我解释一下?
最佳答案
DataFrame.append
返回一个新对象,因此尽管您调用 ALL_DATA.append(pd.read_pickle(i))
因为您永远不会将其写回 ALL_DATA,所以这些更改是丢弃。您需要将更改分配回去:
ALL_DATA = ALL_DATA.append(pd.read_pickle(i))
但是,在循环中 append 是低效的,因为它会在每次迭代时复制数据,因此您应该避免它。相反, append 到一个列表,这是快速的,然后在循环后 concat
一次。
l = [] # Holds everything you may possibly append
for i in files:
if ".pkl" in i:
if "ALL_DATA" not in globals():
ALL_DATA=pd.read_pickle(i)
else:
l.append(pd.read_pickle(i)) # List append which modifies `l`
# Create df from ALL_DATA and everything that you append
ALL_DATA = pd.concat([ALL_DATA, *l])
关于python - 如何将 for 循环中的 .pkl 文件 append 到 for 循环中创建的 pandas 数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62543137/
我正在尝试使用 python 中的 Theano 库对深度信念网络进行一些实验。我使用这个地址中的代码:DBN full code .此代码使用 MNIST Handwritten database
我需要解压 pkl 文件,但由于我不熟悉 pickle 和 pandas,所以我很难做到这一点。 pkl 文件的内容类似于: { 'woodi': array([-0.07377538, 0.018
我有一个 Azure 笔记本,在其中创建了生命周期 GammaGamma 模型。如果我要在本地运行相同的笔记本,我可以使用轻松保存模型 model.save_model('model.pkl') 但我
我正在创建一个库,将函数返回值缓存到 pkl 文件。但是,有时当我在写入 pkl 文件时终止程序时,我会得到损坏的 pkl 文件(并非总是如此)。我正在设置库来处理这些损坏的文件(这主要导致 EOFE
我想从我的训练模型中检索 pickle,我知道它位于 Databricks 实验中的运行文件中。 看来mlflow.pyfunc.load_model只能执行predict方法。 有一个选项可以直接访
我想从我的训练模型中检索 pickle,我知道它位于 Databricks 实验中的运行文件中。 看来mlflow.pyfunc.load_model只能执行predict方法。 有一个选项可以直接访
我有一个 312 MB 的 pkl 文件。我想将其存储到外部服务器 (S3) 或文件存储服务(例如 Google Drive、Dropbox 或任何其他服务)。当我运行模型时,应该从该外部 URL 加
我试图通过使用 保存我的模型来保持预测模型状态 joblib.dump(model, path) 这工作正常,但如果我这样做两次,第二组生成的 .pkl_* 文件不会真正覆盖旧文件,所以当我去调用 j
正在关注 this发布,我正在尝试使用 joblib 执行代码。但是我收到以下错误: classify=joblib.load("traindata.pkl") ValueError: You may
我正在处理一个需要大量数据的 python 文件,但我无法编辑我的数据。有人可以建议我一段代码,了解如何将 .pkl 文件转换为 .csv 文件。 最佳答案 将 PKL 文件转换为 csv 的最简单方
我正在研究其他人的文档不足的代码(它使用 tf-idf 来查找文档集群),我遇到了这个: from sklearn.externals import joblib #joblib.dump(km,
我有一个 .pkl 文件,它可以在我的 MAC 操作系统中完美加载,但无法在 Windows 计算机中加载。我在 anaconda 上使用 python 3。这是我的代码: data=pickle.l
我需要在python中比较两个对象是否有相同的数据,但是有些类型不支持==。我可以用它们制作 pkl 文件然后比较字节数据吗?如果这不起作用,是否有某种方法可以比较它们的字节数据(假设我们不知道我们是
我已成功从 Amazon S3 读取 csv 文件。但是我有情绪模型的 .pkl 文件。我想加载这个 .pkl 文件来预测情绪。这是我的代码- import cPickle import boto3
当读取和写入 pickle 文件时,我注意到一些片段使用 .p 其他的 .pkl 和一些完整的 .pickle .有没有一种最 pythonic 的方法可以做到这一点? 我目前的观点是,没有一个正确的
我有一个非常复杂的字典和转储,直接使用 dill 加载。这是引用这个answer .但是有一点点修改。我需要将其保存在某个文件中并读取该文件以备后用。 这是我的一段代码: NWORDSa是我存入的字典
我正在尝试在不同脚本之间共享 bool 值。在一个脚本中,如果调用某个函数,我想编辑 bool 值。在其他脚本中,我想使用 bool 值。我正在尝试使用 pickle ,但我无法理解。我不知道在我的
我是 AWS 的初学者,我在我的计算机上使用 scikit-learn 训练了一个 RandomForestClassifier,我使用 joblib 以 pkl 格式获取我的模型。 现在我想在 AW
在 Python 中以 .pkl 格式保存文件比以 .txt 或 .csv 格式保存文件有什么优势? 最佳答案 .pkl 可以序列化非常广泛的对象,而不仅仅是文本数据。 关于python - .pkl
我一直在尝试使用利用 src+img 的模型来训练一些数据。运行训练脚本时,我遇到了一个错误:RuntimeError: PytorchStreamReader failed locating fil
我是一名优秀的程序员,十分优秀!