熊猫从 CSV 读取并绘制数据

时间:2021-01-25 12:21:16

标签: python pandas datetime matplotlib

我想要做的是从 .csv 文件中读取,然后绘制读取的数据。文件格式如下:

日期/时间、湿度、温度

00:00:56,90.00,16.90 00:01:56,90.00,16.90 00:02:56,90.00,16.90 00:03:56,91.00,16.90 00:04:506,16.90 05:56,91.00,16.90 00:06:56,91.00,16.90 00:07:56,91.00,16.90 00:08:56,91.00,16.90 00:09:56,91.901.00,50 ,16.90 00:11:56,91.00,16.90 00:12:56,91.00,16.90 00:13:56,91.00,16.90 00:14:56,91.00,16.90:56,91.00,16.90. :56,91.00,16.90 00:17:56,91.00,16.80 00:18:56,91.00,16.90

然后在读取数据后,我使用以下代码在日期时间格式化它们:

data = pd.read_csv("Data-24-January-2021.csv")

data["Date/Time"] = pd.to_datetime(data["Date/Time"])

data.sort_values("Date/Time", inplace=True)

dt_time = data["Date/Time"]

当我尝试打印 dt_time 我得到 ->

0 2021-01-25 00:00:56 1 2021-01-25 00:01:56 2 2021-01-25 00:02:56 3 2021-01-25 00:03:56 4 2021-01-25 00:04:56 ...
1435 2021-01-25 23:55:46 1436 2021-01-25 23:56:46 1437 2021-01-25 23:57:46 1438 2021-01-25 23:58:46 1439 2021-01-25 23:59:46 名称:日期/时间,长度:1440,数据类型:datetime64[ns]

所以当我尝试绘制数据时,在 x 轴上我得到如下结果:

Current Plot I'm getting

我想去掉剧情中的01-25。

我只设法从 .csv 文件中获取时间,但使用我尝试的所有方法返回 dtype: object,因此绘图需要很长时间才能绘制并且无法正确显示 x 轴。

enter image description here

您能否就解决此问题的最佳方法提供建议?我基本上想要的是从 .csv 文件中读取日期/时间并将其绘制在 x 轴上,而不是 01-25。

我目前正在运行的代码如下:

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


plt.style.use("seaborn")

data = pd.read_csv("Data-24-January-2021.csv")


data["Date/Time"] = pd.to_datetime(data["Date/Time"])


data.sort_values("Date/Time", inplace=True)

dt_time = data["Date/Time"].dt.strftime("%H :%M")
# print(dt_time)

humidity = data["Humidity"]
temperature = data["Temperature"]


# plt.plot(dt_time, humidity, label="Humidity")

plt.plot(dt_time, temperature, label="Temperature")

plt.gcf().autofmt_xdate()

plt.legend(loc="upper left")

plt.title("Test Plot")

plt.xlabel("Time")
plt.ylabel("Temperature")

plt.tight_layout()
plt.savefig("Figure_example3.png")
plt.show()

0 个答案:

没有答案