我正在处理一个包含超过 2000 万条记录的庞大数据集。我正在尝试将所有数据保存为羽毛格式,以便更快地访问,并在进行分析时进行附加。
有没有办法将 pandas 数据框附加到现有的羽毛格式文件中?
我用.write_ipcPolars 存储为羽毛文件。原来数字串已经被保存为整数了。
因此,我需要在保存为feather之前或从feather读取之后将带有整数的列转换为字符串。我该如何使用 Polar 来做到这一点?
对于一个包含许多.feather文件的文件夹,我想将它们全部加载到 python 中的 dask 中。
到目前为止,我已经尝试了以下来自 GitHub https://github.com/dask/dask/issues/1277上类似问题的内容
files = [...]
dfs = [dask.delayed(feather.read_dataframe)(f) for f in files]
df = dd.concat(dfs)
Run Code Online (Sandbox Code Playgroud)
不幸的是,这给了我TypeError: Truth of Delayed objects is not supported那里提到的错误 ,但解决方法尚不清楚。
是否可以在 dask 中执行上述操作?
将 DataFrame 序列化为内存中表示的最快方法是什么?根据一些研究,人们似乎普遍认为Apache Feather格式是大多数指标中最快的可用格式。
我的目标是获取 DataFrame 的序列化字节 - Feather 的唯一问题是我想避免写入磁盘和从磁盘加载的开销,并且 Feather API 似乎只允许文件 I/O。我是否应该为此寻找不同的格式,或者Python中是否有一种方法可以“伪造”文件,强制 Feather 写入内存缓冲区?
我找到了有关将文件快速导入 R 的好技巧,但我想知道是否可以仅将给定文件的子集导入到变量中。
就我而言,我有一个包含 1600 万行的文件,保存为 .rds(也保存为 .feather,因为我正在尝试两种格式的速度),并且我想导入其中的一个子集(例如,一些行或几列)进行初始分析。
是否可以?readRDS() 似乎不接受任何子集,而 read_feather() 似乎不允许行选择(尽管您可以指定列)。我应该考虑其他数据格式吗?
我想将tibble具有列表列的磁盘保存到磁盘(仅供以后在R中使用)。理想情况下,我想要一种快速的二进制格式,例如feather,但是它似乎不支持list cols:
test <- tibble(a= list(c(1,2), c(3,4)))
feather::write_feather(test, 'test.csv')
Run Code Online (Sandbox Code Playgroud)
writeFeather(x,path)中的错误:未实现:a是一个列表
我期望readr程序包中的方法能够处理此问题,但是我尝试过的方法似乎都无法解决。
我该怎么做呢?