如何将csv数据加载到matplotlib?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将csv数据加载到matplotlib?相关的知识,希望对你有一定的参考价值。

我是pandas和matplotlib的初学者,但是我以前可以将它们与自己创建的数据结构一起使用。 (在我知道可以从文件加载到熊猫之前)我试图从2个来源绘制数据,但遇到了一些麻烦。第一个来源是Windows PerfMon的日志,下面是数据片段:

"(PDH-CSV 4.0) (Coordinated Universal Time)(0)","\MainUserProcess(App)\% Processor Time"
"04/03/2020 16:09:58.398"," "
"04/03/2020 16:09:59.399","85.795642489249616"
"04/03/2020 16:10:00.401","99.635659557592177"
"04/03/2020 16:10:01.405","71.470475691927575"
"04/03/2020 16:10:02.394","85.172618028129037"
"04/03/2020 16:10:03.401","96.138262475057346"
"04/03/2020 16:10:04.393","88.060038497795688"
"04/03/2020 16:10:05.402","77.300336739910918"
"04/03/2020 16:10:06.397","92.497815954042423"

第二个数据源是来自GPU-Z的日志文件:

        Date        , Memory Used [MB] , GPU Load [%] , System Memory Used [MB] ,
2020-04-03 16:08:56 ,           1409   ,         14   ,                  6565   ,
2020-04-03 16:08:57 ,           1410   ,         14   ,                  6569   ,
2020-04-03 16:08:58 ,           1410   ,         14   ,                  6569   ,
2020-04-03 16:08:59 ,           1412   ,         16   ,                  6573   ,
2020-04-03 16:09:00 ,           1412   ,         15   ,                  6571   ,
2020-04-03 16:09:01 ,           1412   ,         15   ,                  6572   ,
2020-04-03 16:09:02 ,           1410   ,         14   ,                  6572   ,
2020-04-03 16:09:03 ,           1410   ,         15   ,                  6572   ,

我决定先解决CPU图形,但在摆弄数据之后,学习如何替换空字符串并从'object'dtype转换为date和float类型-我将数据帧传递给.plot()和最大值我得到的直线是一堆错误。.

现在,我得到的就是这个:

import matplotlib.pyplot as plt
import pandas as pd
from datetime import datetime

ts = pd.read_csv(r'CSVCPU_000001.csv',na_values=' ')

ts[list(ts.columns)[0]] = ts[list(ts.columns)[0]].map(lambda x: datetime.strptime(str(x), '%d/%m/%Y %H:%M:%S.%f'))
ts[list(ts.columns)[1]] = ts[list(ts.columns)[1]].astype('float')
ts.plot()
plt.show()

我认为我的问题可能与CPU数据文件中的列标题都用引号引起来的事实有关。.但我不知道如何解决此问题。

[我知道我缺少了一些东西,但是在线教程没有帮助,它们都使用随机生成的数据,如果有人可以帮助我解决这个现实问题,我将非常感激。

答案

如果您的问题是如何绘制,请在这里:

# for plotting a line
plt.plot(X, Y, color = '')
# for plotting dots
plt.plot(X, Y, color = '')

在第三个参数的引号中输入绘图颜色。X和Y只是示例。 X和Y轴可以是您选择的任何东西,只要它是csv矩阵中的数字列表即可。请让我知道这是否有帮助...

以上是关于如何将csv数据加载到matplotlib?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 csv 文件从 Internet 加载到 Access 数据库中?

如何在 python 中使用 matplotlib 和 pandas 绘制 CSV 数据

如何有效地将数据从 CSV 加载到数据库中?

如何将数据从 CSV 加载到 impala 的外部表中

使用 matplotlib 和 pandas 从 csv 文件中绘制直方图

如何将 CSV 文件中的数据加载到 numpy 数组中[重复]