我有大约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))
谢谢。
答案 0 :(得分:2)
如果要连接数据帧,可以使用带有列表的pandas concat,如下代码所示。
首先,您可以将df1和df2添加到列表中:
df_list = [df1, df2]
然后您可以连接dfs:
master_df = pd.concat(df_list)
我在concat函数中将'axis'的默认值设置为0(这是我认为的要求),但是如果要并排连接不同的dfs,则只需将axis = 1即可。