【Python】データフレームに行を追加する方法【Pandas】

データフレームを1行ずつ追加する方法。
複数行ずつでも同じやり方でできる。

1. DataFrameのappendを使う

merged = pd.DataFrame()
for idx in range(10):
    temp_df= pd.DataFrame([idx], columns=['col'])
    merged = merged.append(temp_df)
merged = merged.reset_index(drop=True)

いちいちDataFrameのインスタンスを作り直しているため計算が遅い。
けど楽に書ける。


2. DataFrameのconcatを使う

df_list = []
for idx in range(10):
    temp_df = pd.DataFrame([idx], columns=['col'])
    df_list.append(temp_df)
merged = pd.concat(df_list)
merged = merged.reset_index(drop=True)

計算は速いけどリストを作らないといけない。


3. dictのlistを使う

dict_list = []
for idx in range(10):
    temp_dict = {'col' : idx}
    dict_list .append(temp_dict)
merged = pd.DataFrame(dict_list)
merged = merged.reset_index(drop=True)

方法2とメリットデメリットは同じ。