import pandas as pd
from io import StringIO
data = '''\
Date Velocity Direction
3/12/2011 0:00 1.0964352 10
3/12/2011 0:30 1.1184975 15
3/12/2011 1:00 0.48979592 20
3/12/2011 1:30 0.13188942 45
'''
df = pd.read_csv(StringIO(data), sep=r'\s{2,}', parse_dates=[0], dayfirst=True)
データを準備する私はここでトリックを使用してください。 Date
列の日付には空白で区切られた時間要素が含まれているため、2つ以上の空白で列を区切ります。これは私が正規表現としてセパレータを与える理由ですsep=r'\s{2,}'
。しかし、もちろんCSVの列は通常、カンマで区切られているため、作業が簡単になります(デフォルト設定のsep=','
)。
Date
の列は日付として解析されています。列のタイプはdatetime64
です。インデックスはデータをプロットとしてDate
列を設定することにより
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
Date 4 non-null datetime64[ns]
Velocity 4 non-null float64
Direction 4 non-null int64
dtypes: datetime64[ns](1), float64(1), int64(1)
memory usage: 176.0 bytes
は単純である:
df.set_index('Date').plot()
これは、両方の速度および方向は、各タイムスタンプについてプロットされたラインプロットをもたらすであろう。

インポートを追加すると、わかりやすくなります。 – gregory
@gregoryヒントをありがとう。私はそれらを追加しました。 – dotcs
ありがとうございました。しかし、私はエラーが発生しました:df = pd.read_csv(StringIO(data)、sep = r '\ s {2、}'、parse_dates = [0]、dayfirst = True)なぜか分かりますか? TypeError:initial_valueはunicodeまたはNoneでなければなりません。 – Barack