AWS S3へboto3を使用してdataframeを保存する

下のようにすればOK。

import boto3
s3 = boto3.resource('s3')
s3_obj = s3.Object('bucket_name', key=u'test/output.csv')
s3_obj.put(Body=df.to_csv(None).encode('utf_8'))

ただ、注意点が1つあって、Objectの引数keyの指定は'[フォルダ名1]/[フォルダ名2]/[フォルダ名3]・・・/[フォルダ名N]/[ファイル名]'とする
例えば、S3のbucket_nameが"20200421.test.bucket.name.xxxx"で、その中に、「test1」というフォルダがあり、その配下に「test2」というフォルダがあり、そこに「output.csv」を保存したい場合は次のように書く。
注意すべきは最初のフォルダ名の前に「/」を入れないようにすること。

s3_obj = s3.Object('20200421.test.bucket.name.xxxx', key=u'test1/test2/output.csv')