Python pandas快速将行插入DF,缺少值为Nan

时间:2017-08-01 13:57:00

标签: python pandas insert

我正在寻找一种快速方法,将df_row(只有1行的数据帧,列可能小于24)插入df_master(数据帧包含数千行和24列)

例如:

df_row
A B C D E F G .... H
1 2 3 4 5 6 7 .... 8

df_master
A B C D ........................... Y

我正在寻找一种快速方法将df_row插入df_master,并为NaN中不存在的列设置df_row

以前,我在做

df_master = df_master.append(df_row) 

但随着df_master越来越好,此方法会变慢。

是否有快速的方式 inplace 追加?

1 个答案:

答案 0 :(得分:2)

您可以使用setting with enlargement,但需要将Series转换为d = {'F': {0: 6}, 'D': {0: 4}, 'B': {0: 2}, 'C': {0: 3}, 'A': {0: 1}, 'E': {0: 5}, 'G': {0: 7}, 'H': {0: 8}} df = pd.DataFrame(d) print (df) A B C D E F G H 0 1 2 3 4 5 6 7 8 df1 = pd.DataFrame([[10,20,30,40]], columns=list('ACDE')) print (df1) A C D E 0 10 20 30 40 df.loc[len(df.index)] = df1.iloc[0] print (df) A B C D E F G H 0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 1 10.0 NaN 20.0 30.0 40.0 NaN NaN NaN - 例如通过iloc选择:

{{1}}