Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何高效地使用包含数千个字符串格式数据帧的字典?_Python_Pandas_Numpy_Dictionary - Fatal编程技术网

Python 如何高效地使用包含数千个字符串格式数据帧的字典?

Python 如何高效地使用包含数千个字符串格式数据帧的字典?,python,pandas,numpy,dictionary,Python,Pandas,Numpy,Dictionary,我有一本大约10000个键的字典,每个键都有一个字符串,如下所示: my_string = pd.DataFrame(np.random.randint(0, 100,size=(3000, 11))).to_string() 如果转换为DataFrame,则每个字符串的行大小在1000到5000之间,但始终为11列 最后,我需要在np.array或pd.DataFrame中使用每个字符串 我的问题是:传递完整信息的快速格式是什么? 最好将它作为一个包含数千个字符串的字典保存,还是制作一个包含

我有一本大约10000个键的字典,每个键都有一个字符串,如下所示:

my_string = pd.DataFrame(np.random.randint(0, 100,size=(3000, 11))).to_string()
如果转换为
DataFrame
,则每个字符串的行大小在1000到5000之间,但始终为11列

最后,我需要在
np.array
pd.DataFrame
中使用每个字符串

我的问题是:传递完整信息的快速格式是什么? 最好将它作为一个包含数千个字符串的字典保存,还是制作一个包含3d对象的
np.array
xarray
更好

后者的问题是行大小不同,因此我可能需要填充
nan
值,使它们具有相同的长度或其他内容


在这种情况下,最佳做法是什么?我正在努力避免循环,因为它会非常耗时

如果您的字符串是CSV,具有固定的列数(您说您总是有11列和3000-5000行),那么您可以将它们全部转储到一个文件中,并从该文件中读取数据帧。 这相当快

如果它不是CSV,那么无论如何,您可以剪切页眉和页脚,并将它们连接到一个文件中


下一个变体:将该字典包装成
StringIO
或类似文件的对象的子类,该对象将在
read
方法中返回字符串键,并将该对象传递给
pandas。read\u csv

您能描述一下您正在解决的问题吗?创建大型数据帧,将其转换为字符串并将其用作字典键,然后再转换回(有趣的是,值是什么样子的)。这个任务在我看来很奇怪。我不创建数据帧,我是这样读的(它们以字符串格式存储…谁知道为什么)。基本上,当我读取数据时,它是一个巨大的字典,有数千个键,其中每个键是一个巨大的字符串,字符串是一个数据帧,格式如我上面描述的。这有用吗?等等-你的字典是一个数据帧字符串?不,这没有多大帮助。我会深入研究数据,寻找更好的解决方案来阅读它们。然而,这取决于一个目标。我还是不知道你在解决什么问题。如果您只需要读取一次数据,简单循环可能就可以了。如果你有一个“数据流”,那么你应该优化阅读功能。