- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 .npy 文件创建一个 pandas 数据帧,当使用 np.load 读取该文件时,会返回一个包含字典的 numpy 数组。我最初的本能是提取字典,然后使用 pd.from_dict 创建一个数据帧,但这每次都会失败,因为我似乎无法从 np.load 返回的数组中获取字典。看起来只是 np.array([dictionary, dtype=object]),但我无法通过索引数组或类似的东西来获取字典。我也尝试过使用 np.load('filename').item() 但结果仍然没有被 pandas 识别为字典。
或者,我尝试了 pd.read_pickle ,但这也不起作用。
如何将此 .npy 字典放入我的数据框中?这是不断失败的代码...
import pandas as pd
import numpy as np
import os
targetdir = '../test_dir/'
filenames = []
successful = []
unsuccessful = []
for dirs, subdirs, files in os.walk(targetdir):
for name in files:
filenames.append(name)
path_to_use = os.path.join(dirs, name)
if path_to_use.endswith('.npy'):
try:
file_dict = np.load(path_to_use).item()
df = pd.from_dict(file_dict)
#df = pd.read_pickle(path_to_use)
successful.append(path_to_use)
except:
unsuccessful.append(path_to_use)
continue
print str(len(successful)) + " files were loaded successfully!"
print "The following files were not loaded:"
for item in unsuccessful:
print item + "\n"
print df
最佳答案
假设加载 .npy
后,项目 (np.load(path_to_use).item()
) 看起来与此类似;
{'user_c': 'id_003', 'user_a': 'id_001', 'user_b': 'id_002'}
因此,如果您需要使用上面的字典得出如下所示的 DataFrame;
user_name user_id
0 user_c id_003
1 user_a id_001
2 user_b id_002
您可以使用;
df = pd.DataFrame(list(x.item().iteritems()), columns=['user_name','user_id'])
<小时/>
如果您有如下所示的字典列表;
users = [{'u_name': 'user_a', 'u_id': 'id_001'}, {'u_name': 'user_b', 'u_id': 'id_002'}]
您可以简单地使用
df = pd.DataFrame(users)
提出一个类似于以下的 DataFrame;
u_id u_name
0 id_001 user_a
1 id_002 user_b
<小时/>
好像你有一本与此类似的字典;
data = {
'Center': [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]],
'Vpeak': [1.1, 2.2],
'ID': ['id_001', 'id_002']
}
在这种情况下,您可以简单地使用;
df = pd.DataFrame(data) # df = pd.DataFrame(file_dict.item()) in your case
提出一个类似于以下的 DataFrame;
Center ID Vpeak
0 [0.1, 0.2, 0.3] id_001 1.1
1 [0.4, 0.5, 0.6] id_002 2.2
<小时/>
如果字典中有 ndarray
,请执行一些类似于下面的预处理;并用它来创建 df;
for key in data:
if isinstance(data[key], np.ndarray):
data[key] = data[key].tolist()
df = pd.DataFrame(data)
关于python - 从 .npy 文件制作 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40201026/
我是处理大型数据集的新手。我想用我的训练数据生成一个 .npy 文件。我有大约 1.7GB 的 PNG 图像要加载,但是由于内存错误,我将这个设置分成了 block ,我现在试图将大约 389.5 M
如何在 python 中打开 .NPY 文件以便读取它们?我一直在尝试运行我找到的一些代码,但它以 .NPY 文件输出,所以我不知道它是否工作。 最佳答案 *.npy 文件是存储 numpy 数组的二
我有大约 2000 个 .npy 文件,每个文件代表一个一维 float 向量,其中包含 100,000 到 1,000,000 个条目(这两个数字将来都会大幅增长)。对于每个文件,我想要它包含的向量
我有一个 dict,并且我将一个数组与每个键相关联(键本身是一个数字)。 小例子: import numpy as np data = {} data[2.5] = np.array([np.arra
我一直在尝试输出npy文件的内容,当print(np.load('/home/ugwz/fcn/vgg16.npy', encoding='latin1')),部分输出如下所示,有点难以阅读。 然后我
是否存在任何 *.npy 文件阅读器/可视化器? (适用于 Windows) 最佳答案 有科学python调用的IDE spyder .它能够将 .npy 文件中的所有数据导入工作区。工作区中的所有变
我有一个 .npy 文件,我基本上知道其中的所有内容(大小、元素数量、元素类型等),我希望有一种方法可以在不加载数组的情况下检索特定值。目标是使用尽可能少的内存。 我正在寻找类似的东西 def ext
如何查看以 .npy 扩展名存储的图像并以该格式保存我自己的文件? 最佳答案 .npy 是 numpy 数组的文件扩展名 - 您可以使用 numpy.load 读取它们: import numpy a
我正在尝试加载我之前保存的稀疏数组。保存稀疏数组很容易。尝试阅读它虽然很痛苦。 scipy.load 在我的稀疏数组周围返回一个 0d 数组。 import scipy as sp A = sp.lo
我正在使用 numpy.save 函数保存 NumPy 数组。我希望其他开发人员能够使用 C 语言从这些文件中读取数据。所以我需要知道,numpy 如何在文件中组织二进制数据。好的,当我保存“i4”数
Numpy能够读写磁盘上的文本数据或二进制数据。 将数组以二进制格式保存到磁盘 np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩
Tensorflow似乎缺少“ .npy”文件的阅读器。 如何将我的数据文件读入新的tensorflow.data.Dataset点线中? 我的数据不适合存储在内存中。 每个对象都保存在单独的“ .n
我想知道是否有任何方法可以将数组作为 numpy 文件(.npy)直接写入 AWS S3 存储桶。我可以用 np.save将文件保存在本地,如下所示。但我正在寻找一种直接将其写入 S3 的解决方案,而
我正在尝试使用 np.save() 将数据帧和矩阵保存为 .npy 文件,然后使用 np.load() 读取它们,但出现以下错误: File "/Users/sofiafarina/opt/ana
我正在开发一个 SMS 网关,我在考虑我应该在其中实现的功能。因此,我查看了一些 SMS 网关(SMSNOW、SMS studio 和 Ozeki)作为示例。 我几乎完成了实现,但我遇到了几乎所有 S
在我的启动时运行的主类中,它尝试将一些数据放入 HashMap 中。但它说 HashMap 为 null,并且无法添加数据。 public class COD extends JavaPlugin{
我正在尝试创建一个函数,它将采用 numpy dstr 名称作为参数,并绘制该分布中的随机数据点的直方图。 如果它仅适用于需要 1 个参数的 npy 发行版,那就没问题。只是真的坚持尝试创建 np.r
我使用 python 创建了一个平均图像文件并将其保存到 numpy 文件中。我想知道如何将此 .npy 文件转换为 .binaryproto 文件。我正在使用此文件使用 GoogLeNet 进行训练
是否可以在不先在内存中分配相应数组的情况下创建 .npy 文件? 我需要创建和使用一个大型 numpy 数组,该数组太大而无法在内存中创建。 Numpy 支持内存映射,但据我所知,我的选择是: 使用
Numpy提供了几种数据保存的方法。 以3*4数组a为例: 1. a.tofile("filename.bin") 这种方法只能保存为二进制文件,且不能保存当前数据的行列信
我是一名优秀的程序员,十分优秀!