the reason has been found. The order of variables from append to the data box will be adjusted automatically when the column tag of DataFrame is not set beforehand.
df = pd.DataFrame()
series=pd.Series([3,4,1,6],index=["b","a","d","c"])
df=df.append(series,ignore_index=True)
the output of the above code is:
a b c d
0 4.0 3.0 6.0 1.0
if you want to overcome this problem, except
df = pd.DataFrame(columns=series.index)
I don"t know what else to do.