从Excel文件用Python打印2个变量

从Excel文件用Python打印2个变量,python,pandas,Python,Pandas,我是Python初学者。我想从绘图开始学习Python 如果有人能帮我编写一个脚本,用以下两个变量(速度和方向)绘制Excel文件,我将不胜感激: 日期速度方向 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 Strin

我是Python初学者。我想从绘图开始学习Python

如果有人能帮我编写一个脚本,用以下两个变量(速度和方向)绘制Excel文件,我将不胜感激:

日期速度方向 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
列已被解析为日期。其列类型为
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
这将产生一个直线图,其中速度和方向都是为每个时间戳绘制的


您可以添加导入,只是为了让它变得明显。@gregory谢谢您的提示。我加上了。非常感谢。但是,我得到了一个错误:df=pd.read_csv(StringIO(data),sep=r'\s{2,}',parse_dates=[0],dayfirst=True),你知道为什么吗?TypeError:初始值必须是unicode或None,而不是strI。我猜您使用的是Python 2.7。请看这里:哦,顺便说一下,我使用
StringIO
仅用于演示目的。无需将XLS工作表中的普通数据复制到python并使用
StringIO
。您可以使用。熊猫文件IO方法请参见文档。
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()