2016-11-22 112 views
1

的数据帧我有含时间列出了.csv -file的图形跨越这样的:情节时间戳

00:00:00.000580;00:00:00.000893;00:00:00.001355;00:00:00.001767;00:00:00.001973;00:00:00.002694; 00:00:00.000069;00:00:00.000689;00:00:00.000873;00:00:00.001097;00:00:00.001920;00:00:00.002563; 00:00:00.000812;00:00:00.001307;00:00:00.001701;00:00:00.002561;00:00:00.003196;00:00:00.003600; 00:00:00.000702;00:00:00.001229;00:00:00.001750;00:00:00.002014;00:00:00.002633;00:00:00.003152; 00:00:00.000776;00:00:00.001774;00:00:00.001989;00:00:00.002115;00:00:00.002504;00:00:00.003228;

...

我想用一个jupyter笔记本和熊猫在这个文件和打印阅读数据的简单图形。这是我使用的代码:

import pandas as pd 

inputFile = "D:\\times.csv" 

names = ['First', 'Second', 'Third', 'Fourth', 'Fivth', 'Sixth'] 
usecols = [0,1,2,3,4,5] 
data = pd.read_csv(inputFile, usecols=usecols, sep=';', header=None, names=names, parse_dates=True) 

#data.head() 
data.plot.bar() 

每当我跑我的NOTBOOK,我得到一个错误信息

TypeError: Empty 'DataFrame': no numeric data to plot

看来CSV文件导入正确,因为我可以写出来的我的DataFrame使用的内容,它看起来没问题。

我需要做什么才能从我的数据绘制图表?

编辑:

这是我从data.info()得到:


RangeIndex: 200 entries, 0 to 199
Data columns (total 6 columns):
First 200 non-null object
Second 200 non-null object
Third 200 non-null object
Fourth 200 non-null object
Fivth 200 non-null object
Sixth 200 non-null object
dtypes: object(6)
memory usage: 9.5+ KB

+1

什么是data.info()告诉你? – Boud

+0

我将'data.info()'输出添加到问题中。 – DIF

回答

3

您可以将所有数据to_timedelta再到total_seconds - 整数,因此可图。 Apply被使用,因为to_timedelta仅适用于Series(的df列)

data = data.apply(lambda x: pd.to_timedelta(x).dt.total_seconds()) 

data.plot.bar() 

graph

+0

哦,谢谢你的快速反应!这工作!所以它看起来像'DataFrame.plot()'只适用于“真正的”数值? – DIF

+0

我认为它看起来没有看到 - https://github.com/pandas-dev/pandas/issues/8711 – jezrael