複数のデータを空のdataframeから生成し、結合する方法[Python][Pandas]
以下に3つのdataframe生成し、結合するスクリプトを示す。
pd.concatを使うと、dataframeを縦連結することができる。あまり使わないと思うが、axisのオプションで横連結にすることも可能だ。
import pandas as pd
df1 = pd.DataFrame()
for i in range(5):
tmp_series = pd.Series([i, i*i])
df1 = df1.append(tmp_series, ignore_index=True)
df2 = pd.DataFrame()
for i in range(5, 10):
tmp_series = pd.Series([i, i*i])
df2 = df2.append(tmp_series, ignore_index=True)
df3 = pd.DataFrame()
for i in range(10, 15):
tmp_series = pd.Series([i, i*i])
df3 = df3.append(tmp_series, ignore_index=True)
df4 = pd.concat([df1, df2, df3])
df4.columns = ["i", "i^2"]
df4 = df4.reset_index(drop=True)
print(df4)
出力
i i^2 0 0.0 0.0 1 1.0 1.0 2 2.0 4.0 3 3.0 9.0 4 4.0 16.0 5 5.0 25.0 6 6.0 36.0 7 7.0 49.0 8 8.0 64.0 9 9.0 81.0 10 10.0 100.0 11 11.0 121.0 12 12.0 144.0 13 13.0 169.0 14 14.0 196.0
以下のように、各データフレームを生成するごとに、ラベル名を定義しても良い。
import pandas as pd
df1 = pd.DataFrame()
for i in range(5):
tmp_series = pd.Series([i, i*i])
df1 = df1.append(tmp_series, ignore_index=True)
df1.columns = ["i", "i^2"]
df2 = pd.DataFrame()
for i in range(5, 10):
tmp_series = pd.Series([i, i*i])
df2 = df2.append(tmp_series, ignore_index=True)
df2.columns = ["i", "i^2"]
df3 = pd.DataFrame()
for i in range(10, 15):
tmp_series = pd.Series([i, i*i])
df3 = df3.append(tmp_series, ignore_index=True)
df3.columns = ["i", "i^2"]
df4 = df4.reset_index(drop=True)
print(df4)







ディスカッション
コメント一覧
まだ、コメントがありません