Csvのデフォルトの形式はdd/mm/yyyyです。 df['Date']=pd.to_datetime(df['Date'])
で日時に変換すると、mm // dd/yyyyにフォーマットが変わります。
次に、df['Date'] = pd.to_datetime(df['Date']).dt.strftime('%d/%m/%Y')
を使用してdd/mm/yyyyに変換しましたが、これらは文字列(オブジェクト)形式です。ただし、それらをdatetime
形式に変更する必要があります。これ(df['Date']=pd.to_datetime(df['Date'])
)を再度使用すると、以前の形式に戻ります。君の力が必要
_parse_dates
_の_pd.read_csv
_およびdayfirst
引数を使用できます。以下を参照してください。 read_csv()のドキュメント
_df = pd.read_csv('myfile.csv', parse_dates=['Date'], dayfirst=True)
_
これにより、Date
列が日時値として読み込まれ、日付入力の最初の部分が日として正しく取得されます。一般に、日付はdatetimeオブジェクトとして格納する必要があることに注意してください。
次に、日付を文字列として出力する必要がある場合は、dt.strftime()
を呼び出すことができます。
_df['Date'].dt.strftime('%d/%m/%Y')
_
これをもう一度使用すると、
df['Date'] = pd.to_datetime(df['Date'])
は以前の形式に戻ります。
いいえ、選択した文字列形式を同時に使用して、一連の型datetime
を保持することはできません。述べたように ここ :
datetime
シリーズは整数として内部的に保存されます。人間が読める形式の日付表現は、表現であり、基になる整数ではありません。カスタムフォーマットにアクセスするには、パンダで利用可能なメソッドを使用できます。そのようなテキスト表現をpd.Series
変数:formatted_dates = df['datetime'].dt.strftime('%m/%d/%Y')
dtype
/formatted_dates
はobject
になります。これは、系列の要素が任意のPython回を指すことを示します。この場合、これらの任意の型はたまたますべて文字列です。最後に、ワークフローの最後のステップまで、
datetime
シリーズを文字列に変換するしないことを強くお勧めします。これを行うと、そのようなシリーズで効率的なベクトル化された操作を使用できなくなるためです。