ぺーぱーの日々

上機嫌でいること、夢中でいることを目標に、今日も色んなことに手を出します。

MENU

pandas DataFrameの結合でつまずきました。

リストを2つ用意する。

l1 = ['a','b','c']
l2 = [1,2,3]

それぞれのリストをSeriesに変換する。

s1 = pd.Series(l1)
s2 = pd.Series(l2)

それぞれのSeriesをDataFrameに変換する。

df1 = pd.DataFrame(s1)
df2 = pd.DataFrame(s2)

これで、二つのデータフレームを取得できた。

 

データフレームの結合と言えば、pd.merge()だと記憶していたので、実行してみる。

# df1,df2を結合する
new_df = pd.merge(df1,df2)

出力結果

エラー内容:

ValueError: You are trying to merge on object and int64 columns. If you wish to proceed you should use pd.concat
解釈:どうやらデータ型が違うもの同士を結合しようとしているから、エラーが出たらしい。pd.concat()をやってみたら?という文言が見受けられるので、試してみる。

# df1,df2を結合する
new_df = pd.concat(df1,df2)

出力結果:

またも、エラー。

エラー内容:
TypeError
: first argument must be an iterable of pandas objects, you passed an object of type "DataFrame"