2024-03-28 10:18:48 发布
网友
我是一个Python初学者。我想从绘图开始学习Python。你知道吗
如果有人能帮我写一个脚本,用下面两个变量(速度和方向)来绘制Excel文件,我将不胜感激:
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
准备数据
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列中的日期包含由单个空格分隔的时间元素,所以我用两个或更多的空格分隔列。这就是为什么我将分隔符作为regex sep=r'\s{2,}'。当然,在CSV中,列通常用逗号分隔,这使事情变得更简单(sep=','这是默认设置)。你知道吗
Date
sep=r'\s{2,}'
sep=','
注意,Date列被解析为日期。它的列类型是datetime64。你知道吗
datetime64
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
通过将Date列设置为绘制数据的索引,很简单:
df.set_index('Date').plot()
这将产生一个折线图,其中速度和方向都是为每个时间戳绘制的。你知道吗
准备数据
我在这里使用了一个技巧。因为
Date
列中的日期包含由单个空格分隔的时间元素,所以我用两个或更多的空格分隔列。这就是为什么我将分隔符作为regexsep=r'\s{2,}'
。当然,在CSV中,列通常用逗号分隔,这使事情变得更简单(sep=','
这是默认设置)。你知道吗注意,
Date
列被解析为日期。它的列类型是datetime64
。你知道吗通过将
Date
列设置为绘制数据的索引,很简单:这将产生一个折线图,其中速度和方向都是为每个时间戳绘制的。你知道吗
相关问题 更多 >
编程相关推荐