我正在寻找一种快速方法,将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 追加?
答案 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}}