将数据框列表附加到python中的数据框列表
Posted
技术标签:
【中文标题】将数据框列表附加到python中的数据框列表【英文标题】:Appending a list of dataframes to a list of dataframe in python 【发布时间】:2019-09-08 00:03:30 【问题描述】:我希望找到一个简单的解决方案,但我一直没能找到。假设我有两个列表,每个列表有 4 个数据框。列表中的每一项都是一个数据框。一个列表被称为
list_of_df1
另一个叫
list_of_df2
我想知道是否可以将数据帧从一个列表附加到另一个列表中。最终目标是拥有一个包含所有 8 个数据帧的组合列表。很抱歉我没有提供样本数据。我希望这是一个简单的代码行。
这是我尝试过的:
list_of_df1.append(list_of_df2)
list_of_df1.insert(list_of_df2)
谢谢!
【问题讨论】:
【参考方案1】:考虑到list_of_df1
和list_of_df2
是列表:
list_of_df1.extend(list_of_df2)
【讨论】:
谢谢!此代码有效,但我将使用只需将两个列表添加在一起的解决方案。【参考方案2】:就这么简单:
list_of_df1 += list_of_df2
这实际上比使用extend()
效率略高,因为它不包括函数调用的开销。
【讨论】:
谢谢!这正是我一直在寻找的简单解决方案! @Jake 很高兴我能帮上忙! :)【参考方案3】:试试pd.concat(frames)
import pandas as pd
d1 = 'ID': [10,20,40,50], 'Name': ["Bob", "John","test","Foo"]
d2 = 'ID': [10,20,40,50], 'Name': ["Bob", "John","test","Foo"]
df1 = pd.DataFrame(data=d1)
df2 = pd.DataFrame(data=d2)
frames = [df1, df2]
result = pd.concat(frames)
print(result)
输出:
ID Name
10 Bob
20 John
40 test
50 Foo
10 Bob
20 John
40 test
50 Foo
如果您有 DF 列表,那么 @ruohola 发布的解决方案就是您正在寻找的解决方案。
【讨论】:
我认为如果他想要一个包含列表中所有数据帧内容的数据帧,这将是有效的,但他说他想要一个所有数据帧的列表。 好的,让我更新答案。谢谢。我以为他在说列表是指数据框中的数据列表。 这不符合 OP 的要求。【参考方案4】:加星号的表达式删除列表中的括号。
[*list_df1, *list_df2]
虽然可能不是最有效的。
【讨论】:
以上是关于将数据框列表附加到python中的数据框列表的主要内容,如果未能解决你的问题,请参考以下文章