用多个数据框值填充数据框

时间:2019-12-03 11:32:02

标签: python pandas dataframe

我有大约100个数据框需要填充到另一个大数据框中。用两个数据框呈现问题

import pandas as pd
df1 = pd.DataFrame([1,1,1,1,1], columns=["A"])
df2 = pd.DataFrame([2,2,2,2,2], columns=["A"])

请注意,两个数据框具有相同的列名。

我有一个具有重复索引值的主数据框,如下所示:-

master_df=pd.DataFrame(index=df1.index)
master_df= pd.concat([master_df]*2)

预期输出:-

master_df['A']=[1,1,1,1,1,2,2,2,2,2]

我正在使用for循环,用df1,df2 ... df100替换master_df的每n行。 请提出一种更好的方法。 实际上df1,df2 ... df100是函数的输出,其中输入是A列的值(1,2)。我想知道是否有类似的东西

another_df=master_df['A'].apply(lambda x: function(x))

谢谢。

1 个答案:

答案 0 :(得分:2)

如果要连接数据帧,可以使用带有列表的pandas concat,如下代码所示。

首先,您可以将df1和df2添加到列表中:

df_list = [df1, df2]

然后您可以连接dfs:

master_df = pd.concat(df_list)

我在concat函数中将'axis'的默认值设置为0(这是我认为的要求),但是如果要并排连接不同的dfs,则只需将axis = 1即可。