pandasでデータフレームを結合するときにconcatをよく使うのですが、インデックスがおかしなことになるので、新しくインデックスを振り直すところまで
dict_a = {
'odd': [11,13,15,17,19],
'even': [10,12,14,16,18]
}
dict_b = {
'odd': [21,23,25,27,29],
'even': [20,22,24,26,28]
}
df_a = pd.DataFrame(dict_a)
df_b = pd.DataFrame(dict_a)
print(df_a)
'''
odd even
0 11 10
1 13 12
2 15 14
3 17 16
4 19 18
'''
print(df_b)
'''
odd even
0 11 10
1 13 12
2 15 14
3 17 16
4 19 18
'''
# 結合
merged_df = pd.concat([df_a, df_b])
'''
odd even
0 11 10
1 13 12
2 15 14
3 17 16
4 19 18
0 11 10
1 13 12
2 15 14
3 17 16
4 19 18
'''
new_df = merged_df.reset_index(drop=True)
print(new_df)
'''
odd even
0 11 10
1 13 12
2 15 14
3 17 16
4 19 18
5 11 10
6 13 12
7 15 14
8 17 16
9 19 18
'''
こんな感じ!
reset_index(drop=True)
はよく使うので覚えておこう。
p.s.
dictをpd.DataFrame()に渡して、dfに変換するの結構便利でよく使う。
データ整形の時はdictを使えば、pythonのいつも通りに慣れ親しんだ方法が使えて、出来上がったものをdfに変換すれば良いだけだからおすすめ