から抽出日時私はタイムスタンプが、私はそれから日付と時刻を抽出したい次の形式パンダ:タイムスタンプ
2016-06-16T21:35:17.098+01:00
であるtimestamp
列を持っています。私は以下を行った:
import datetime as dt
df['timestamp'] = df['timestamp'].apply(lambda x : pd.to_datetime(str(x)))
df['dates'] = df['timestamp'].dt.date
これはしばらくの間働いた。しかし突然それはしません。
私は再びdf['dates'] = df['timestamp'].dt.date
私は幸運なことに、次のエラー
Can only use .dt accessor with datetimelike values
を取得しない場合、私はcsvファイルでdates
持つデータフレームを保存しているが、私は今フォーマット23:00:00.051
time
を作成したいです
編集
生データファイル(1,500万サンプル)から、timestamp
列はli KE(第5サンプル)以下:
df['timestamp'] = df['timestamp'].apply(lambda x : pd.to_datetime(str(x)))
timestamp
列はDTYPEとしてdtype
有するように見え、次のコマンドの後
timestamp
0 2016-06-13T00:00:00.051+01:00
1 2016-06-13T00:00:00.718+01:00
2 2016-06-13T00:00:00.985+01:00
3 2016-06-13T00:00:02.431+01:00
4 2016-06-13T00:00:02.737+01:00
:datetime64 [NS]次に
0 2016-06-12 23:00:00.051
1 2016-06-12 23:00:00.718
2 2016-06-12 23:00:00.985
3 2016-06-12 23:00:02.431
4 2016-06-12 23:00:02.737
最終的
df['dates'] = df['timestamp'].dt.date
0 2016-06-12
1 2016-06-12
2 2016-06-12
3 2016-06-12
4 2016-06-12
EDIT 2
間違いを発見しました。私はデータを消去し、データフレームをCSVファイルに保存していたので、もう一度クリーニングを行う必要はありません。私がcsvを読むと、タイムスタンプdtype
がオブジェクトに変わります。今私はこれをどのように修正するのですか?
これらのダフの値を 'NaT'に強制することができるように、ダフの値があることを意味します:' df ['timestamp'] = pd.to_datetime(df ['timestamp']、errors = 'coerce') ' 'dropna'を使用してこれらの値を取り除くことができます。その後、' dt.date'を前のように呼び出すことができます。 – EdChum
'df.timestamp.isnull()。sum()'は0を返します。 –
生データとコードを投稿しない限りエラーがある場合、これは時間を無駄にする仮定的なポスティング運動になります – EdChum