性能将列表列表解压缩到pandas数据帧中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能将列表列表解压缩到pandas数据帧中相关的知识,希望对你有一定的参考价值。

我有一个列表列表,其中外部列表​​的长度为100k,每个内部列表的长度为2,有两个bool条目,例如[True, False]。我试图将每个第一个条目放在数据帧的一列中,将每个第二个条目放入另一个列中。我的代码有效,但速度非常慢(大约需要12秒):

populate_df[["col1", "col2"]] = pd.Series(list_of_lists).apply(pd.Series)

有人可以推荐一种表现更好的方式吗?

答案

试试这个:

In [29]: lst = [[False,False],[True, False],[False, True]]

In [30]: df = pd.DataFrame(lst, columns=['col1','col2'])

In [31]: df
Out[31]:
    col1   col2
0  False  False
1   True  False
2  False   True
另一答案

如果要将列添加到现有数据框,这将起作用: -

import pandas as pd

df = pd.DataFrame()
lst = [[True, False], [False, False], [True, True], [False, True]]

df = pd.concat([df, pd.DataFrame(columns=['A', 'B'])], axis=1)
df.A, df.B = list(zip(*lst))

#        A      B
# 0   True  False
# 1  False  False
# 2   True   True
# 3  False   True

以上是关于性能将列表列表解压缩到pandas数据帧中的主要内容,如果未能解决你的问题,请参考以下文章

如何通过单击适配器类中代码的项目中的删除按钮来删除列表视图中的项目后重新加载片段?

将一个pandas数据帧列表连接在一起

将列表写入 pandas 数据帧到 csv,从 csv 读取数据帧并再次转换为列表而无需字符串

如何将元组列表解压缩到单个列表中? [复制]

在pandas dataframe列中解压缩并打印元组

将 sql 选择解压缩到 pandas 数据框中