Python 性能将列表列表解包到数据帧中
我有一个列表列表,其中外部列表长度为100k,内部列表长度为2,有两个bool条目,例如Python 性能将列表列表解包到数据帧中,python,python-3.x,pandas,indexing,Python,Python 3.x,Pandas,Indexing,我有一个列表列表,其中外部列表长度为100k,内部列表长度为2,有两个bool条目,例如[True,False]。我试图将第一个条目放在数据帧的一列中,将第二个条目放在另一列中。我有可以工作的代码,但速度非常慢(大约需要12秒): 有人能推荐一种性能更好的方法吗?试试以下方法: In [29]: lst = [[False,False],[True, False],[False, True]] In [30]: df = pd.DataFrame(lst, columns=['col1','c
[True,False]
。我试图将第一个条目放在数据帧的一列中,将第二个条目放在另一列中。我有可以工作的代码,但速度非常慢(大约需要12秒):
有人能推荐一种性能更好的方法吗?试试以下方法:
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
啊,谢谢,假设它将创建一个数据框架,其中每个内部列表都是另一列,如果我这样做的话。只要条件允许,我会尽快接受这个答案。嗨,@MaxU,我怎么能对多把钥匙这么做呢。我试过追加,但没有用。@BFurtado,请用相应的小的可重复数据集和您想要的数据集打开一个新问题。
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