私は熱シミュレーションのcsv出力を持っていますが、これはpandasを使ってデータ解析を行いたいのです。カラム文字列をdatetime値に変換/解析する - pandas
はパンダのデータフレームにcsvファイルをインポートしたので、私は、タイムスタンプを操作し、そのようにインポートしたいと思います。
開始形式は次のとおりです(スペースで始まり、米国のデータ形式と年がありません)。
' 05/01 01:00:00'
' 05/01 02:00:00'
' 05/01 03:00:00'
' 05/01 04:00:00'
' 05/01 05:00:00'
私は次のように書いたループ機能、でそれに対処するためにadvicedた:
これは正常に動作し、私がしたい日時書式を返しraw_datetime = df[' Date/Time'] #original data column
timestamp = []
for ns in raw_datetime:
#timestamp.append(ns[5:7] + '.' + ns[2:4] + '_' + ns[9:11] + '00h')
timestamp.append('2016' + '/' + ns[2:4] + '/' + ns[5:7] + '_' + ns[9:11] + ':00')
。
['2016/05/01_01:00', '2016/05/01_02:00', '2016/05/01_03:00', '2016/05/01_04:00']
しかし、これはそれがリストではなく、シリーズを必要とするようだと、pd.to_datetime機能により使用できない場合が表示されます(?)。
私は、構文解析の概念に出くわしたととしてWUCH函数:月と日をひっくり返すと存在していない2016年の情報を追加しながら
raw_datetime.str.extract('string', expand=True)
しかし、私は、私はそれを行うことができるかわかりません生データ内にある。
ありがとうございます!
編集:コードはN.B. の下に追加しましたネイティブフォーマットは、 '5月1日午前1時00分○○秒' すなわち:ダブルスペース、月、日、ダブルスペース、HH、MM、SS)]
最初の試み
df = pd.read_csv('./SimResults.csv')
a = pd.to_datetime(df[' Date/Time'], format=' %m/%d %H:%M:%s')
第二の試み:
df = pd.read_csv('./SimResults.csv')
raw_datetime = df[' Date/Time'].str.lstrip(' ')
raw_datetime = ('2016/') + raw_datetime
b = pd.to_datetime(raw_datetime, format='%Y/%m/%d %H:%M:%S')
それは 'もシリーズで動作するはずですpd.to_datetime(df ['your_new_col']) 'は、' 'parse_dates = ['Date/Time']'を使ってcsvファイルを読むとき – EdChum
を処理しなければなりません、自動的に日付に '2016 'を追加します。 – shivsn
申し訳ありませんが、これらのどれもうまくいかないようです! – Andreuccio