如何从列表中获取非常特殊的元素?

时间:2019-05-23 11:48:28

标签: python arrays pandas list numpy

我有一个具有不同形状的数据帧列表,这就是为什么我不能将数据放入3维df或数组中的原因。 现在,我想从一个仅包含所需dfs的新列表中的列表中获取一些特定的数据帧。

list_of_df = [df1, df2, df3, ...]
index = [0,3,7,9,29,11,18,77,1009]
new_list = list_of_df[index]

我能想到的唯一方法是非常性感:

new_list = []
for i in index:
   new_list.append(list_of_df[i])

是否有更好的解决方案,或者通常是更方便的方式来存储和访问数千个不同的数据帧?

2 个答案:

答案 0 :(得分:0)

您可以使用列表理解:

new_list = [df for (i, df) in enumerate(list_of_df) if i in index]

答案 1 :(得分:0)

@Quang Hoang的答案解决了这个问题:

new_list = np.array(list_of_df)[index]