我的DataFrame
有6列,超过2600万行名为data
:
id, redshift, treeID
2, 0.0, 100000
5, 0.0, 340000
...
39495, 0.0, 500000
我还有list
treeID
个,有600,000个条目:
id = [100000,490000, ... 500000]
我想创建一个新的list
,其中treeIDs
中的data
等于id
中的list
s。我正在尝试的代码是
list = []
for x in id:
transition = data[data['treeID'] == x]
list.append(transition)
然后我会使用pandas.concat([list,0])
来合并所有不同的数组。
然而,这是非常慢的,花了大约3个小时来完成这个列表,我有60个这样的文件。有没有办法加快这个过程?
我考虑过将初始数据文件分成几个较小的DataFrame
,然后将其并行化,但这似乎是糟糕的形式。
有更好的方法还是处理这些大型数据集的最佳方式?
答案 0 :(得分:0)
还有
transition = data[data['treeId'].isin(id)]