データフレームの変換、処理の順番について

実現したいこと

下記コードのようにdfを作り備考のカラムにはリストで2つの数値が入っています。
このままlisにappendし、sqlに保存のためdf['備考']を文字列に変換しています。

該当のソースコード

python

1lis = []2df = pd.DataFrame({'年齢':'12','性':'男','備考':[[1,2]]})3lis.append(df)4df['備考'] = str(df['備考'][0])5df.to_sql(past, con=engine, if_exists='append', index=False)

コードを実行してlisの中のdf['備考']を確認すると、文字列となっているのですが、なぜ変換前にappendしたのにこのような結果となるのでしょうか?
変換前のデータフレームをlisに追加し、変換したデータフレームをsqlに保存することが、実現したいことです。実現するためのアドバイスをいただければと思います。

###追記
回答ありがとうございます。メモリアドレスというのがあるのを初めて知りました。

回答いただく前に試した中で、jupyterlab上でコードの1~3行目を実行しtype(df['備考'][0])と確認すると、list型になっており、次に別のセルで4行目を実行した後に、type(df['備考'][0])と確認するとintとなっており混乱しております。df['備考'] = str(df['備考'][0])を実行したことでlisの中身が書き換えられたということなんでしょうか?

コメントを投稿

0 コメント