私はpandasデータフレームにcsvファイルを読み込むPythonプログラムを持っています。次に、datetimeを使ってセンサ値をクリーンな形式でプロットしたいと思います。私のコードはエラーValueError:時刻データ '2017/02/17'は '%Y /%m /%d%H:%M:%S%fの形式と一致しません。 マイコードとデータフレームから一部の行は以下の通りです:パンダを使用して日時をプロットする
コード:
import pandas as pd
from datetime import datetime
import csv
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
headers = ['Sensor Value','Date','Time']
df = pd.read_csv('C:/Users\Lala Rushan\Downloads\DataLog.CSV', parse_dates= {'Datetime': [1,2]},names=headers)
print (df)
df['Datetime'] = df['Datetime'].map(lambda x: datetime.strptime(str(x), "%y/%m/%d , %H:%M:%S.%f"))
#datetime.strptime(df['Datetime'],"%Y/%m/%d %H:%M:%S.%f")
x = df['Datetime']
y = df['Sensor Value']
# plot
plt.plot(x,y)
# beautify the x-labels
plt.gcf().autofmt_xdate()
plt.show()
DATAFRAME:
Datetime Sensor Value
0 2017/02/17 19:06:17.188 2
1 2017/02/17 19:06:22.360 72
2 2017/02/17 19:06:27.348 72
3 2017/02/17 19:06:32.482 72
4 2017/02/17 19:06:37.515 74
5 2017/02/17 19:06:42.580 70
6 2017/02/17 19:06:47.660 72
がどのように私はこのエラーを解決することができますか?私はpythonにnewvieので、基本的な間違いを赦してください。
あなたの日付が書式文字列と一致しないことを知らせるています。質問は、日付文字列が '' 2017/02/17 "'であることをエラーが示しているのですが、あなたの投稿データフレームは '' 2017/02/17 19:06:17.188 "'(カンマにもなりません)または類似。 –
はい私は何を考えていますか?コードを動かすことができますか?私はPythonの初心者です。 – rushan
'pandas'のdatetimeパーサを使用してください:' df ['Datetime'] = pd.to_datetime(df ['Datetime']) '代わりに' map'を使用して各行値を解析してください。フォーマットが一貫している場合は、フィールド全体を 'datetime'に解析する必要があります。 – Abdou