我需要运行一个函数,为每行返回两个不同的值,我用
result = df.apply(
lambda row: pandas.Series(
(do_something(row), do_something_else(row)),
index=('result', 'meta')),
axis=1)`
然而,在一个有2.8mil行的数据集上运行这个命令很快就会遇到内存问题(而且比只返回一列要慢得多)。我想知道是否有可能这样做
result = df.apply(
lambda row: (do_something(row), do_something_else(row)),
axis=1)
(每行有两个元素的元组的序列),如果可能的话,是否可以不经过series.apply()
就访问每行的第一个(或第二个)元素
最后我以不同的方式解决了这个问题
做完之后
我没有把它们分成两个系列,而是这样做了
实际上,我将原始的
df
分解为多个可处理的块(使用concurrent.futures),因此实际调用的示例应该如下所示相关问题 更多 >
编程相关推荐