2016-06-20 13 views
2

私は熱シミュレーションの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') 
+0

それは 'もシリーズで動作するはずですpd.to_datetime(df ['your_new_col']) 'は、' 'parse_dates = ['Date/Time']'を使ってcsvファイルを読むとき – EdChum

+0

を処理しなければなりません、自動的に日付に '2016 'を追加します。 – shivsn

+0

申し訳ありませんが、これらのどれもうまくいかないようです! – Andreuccio

答えて

2

あなたはそれがデフォルト形式ではありませんので、to_datetime機能にあなたのフォーマットを指定する必要があります。

pd.to_datetime(x, format='%Y/%m/%d_%H:%M') 
+0

私は 'to_datetime'関数からフォーマットを指定しましたが、 "_time data '05/01 01:00:00'のフォーマットが '%Y /%m /%d_%H:%Mと一致しません'_ ' to_datetime 'コマンドで文字列を操作する必要がありますか? – Andreuccio

+0

いいえ、追加の操作は必要ありません。フォーマットにミスタイプがありますか?ここでオプションを確認できます:https:// docs .python.org/2 /ライブラリ/ datetime.html#strftimeの-と-のstrptime-行動。 –

+0

ユージン、 私が怖いです、動作するようには思えない。私は非常に多くのオプションを試してみましたし、私がやって他に何を知りません。 は、あなたが私のコードをチェックさせていただきますか? – Andreuccio

関連する問題