性能将列表列表解压缩到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数据帧中的主要内容,如果未能解决你的问题,请参考以下文章
如何通过单击适配器类中代码的项目中的删除按钮来删除列表视图中的项目后重新加载片段?