我在一個csv檔案里有好幾天的資料,這些資料的日期/時間和值如下所示:
我在一個csv檔案里有好幾天的資料。
1409/2021 23。 25.07 -0.008762。
14/09/2021 23.27.37 -0.008346[/span
14/09/2021 23.30.07 -0.008188[/span
14/09/2021 23.32.37 -0.007041[/span
14/09/2021 23.35.07 -0.007720[/span
14/09/2021 23.37.38 -0.008280[/span
14/09/2021 23.40.08 -0.009916[/span
14/09/2021 23.42.38 -0.008358[/span
14/09/2021 23.45.08 -0.007290[/span
14/09/2021 23.47.38 -0.008402[/span
14/09/2021 23.50.08 -0.007332[/span
14/09/2021 23.52.38 -0.008073[/span
14/09/2021 23.55.08 -0.009283[/span
14/09/2021 23.57.38 -0.008321[/span
15/09/2021 00.00.08 -0.008364[/span
15/09/2021 00.02.38 -0.007530[/span
15/09/2021 00.05.08 -0.007127[/span
15/09/2021 00.070.39 -0.006744[/span
15/09/2021 00.100.09 -0.008065[/span
15/09/2021 00.12.39 -0.008973[/span
15/09/2021 00.150.09 -0.007410
15/09/2021 00.17.39 -0.008687[/span
15/09/2021 00.200.09 -0.009036
15/09/2021 00.22.39 -0.010055[/span
時間部分正如你所看到的是像dd/mm/yyyy hh.mm.ss,資料值是在時間的一個標簽之后。正如你所看到的,這一天也從14號變成了15號。
如何在Python中繪制這個資料。(我使用Spyder并有numpy、matplotlib和pandas庫)
編輯:
14/09/2021 16.39. 53 0.081907 25 123 1234 3。 28 1.42 0.00 0.00 0. 00 0.00 0.00 0.
14/09/2021 16.42.23 0。 090114 25 123 1234 3。 28 1.42 0.00 0.00 0. 00 0.00 0.00 0.
14/09/2021 16.44.53 0。 083744 25 123 1234 3。 29 1.42 0.00 0.00 0. 00 0.00 0.00 0.
14/09/2021 16.47 .23 0. 086005 25 123 1234 3。 28 1.42 0.00 0.00 0. 00 0.00 0.00 0.
14/09/2021 16.49.53 0。 113348 25 123 1234 3。 28 1.42 0.00 0.00 0. 00 0.00 0.00 0.
14/09/2021 16.52.23 0。 106089 25 123 1234 3。 28 1.42 0.00 0.00 0. 00 0.00 0.00 0.
14/09/2021 16.54 .53 0. 088008 25 123 1234 3。 28 1.43 0.00 0.00 0. 00 0.00 0.00 0.
14/09/2021 16.57.23 0。 078151 25 123 1234 3。 28 1.42 0.00 0.00 0. 00 0.00 0.00 0.00
uj5u.com熱心網友回復:
我的.csv檔案中的資料看起來是這樣的
datetime value
0 1409/2021 23。 25.07 -0.008762。
1 1409/2021 23. 27.37 -0.008346。
2 1409/2021 23. 30.07 -0.008188。
3 1409/2021 23.320.37 -0.007041
4 1409/2021 23.35.07 -0.007720
你可以使用下面的代碼段來繪制日期時間值
import pandas as pd
import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
# Read .csv
df = pd.read_csv('data.csv')
# Convert str to datetime[/span].
df['datetime'] = pd.to_datetime(df['datetime'], format='%d/%m/%Y %H.%M.%S')
# Plot
fig, ax = plt.subplots()
ax.plot(df['datetime'],df['value'] )
ax.set_xticks(df['datetime'])
# 按照要求格式化你的軸。
ax.xaxis.set_major_formatter(mdates.DateFormatter("%H:%M"/span>)
ax.xaxis.set_minor_formatter(mdates.DateFormatter("%H:%M"/span>)
_=plt.xticks(rotation=90)
uj5u.com熱心網友回復:
要繪制數值,只需將日期和小時轉換為時間戳(X)并繪制數值(Y),如Y = fct(X)
輸出:
timestamps = [datetime. datetime(2021, 9, 14, 23, 25, 7), datetime. datetime(2021, 9, 14, 23, 27, 37), datetime. datetime(2021, 9, 14, 23, 30, 7), datetime. datetime(2021, 9, 14, 23, 32, 37), datetime. datetime(2021, 9, 14, 23, 35, 7), datetime. datetime(2021, 9, 14, 23, 37, 38), datetime. datetime(2021, 9, 14, 23, 40, 8), datetime. datetime(2021, 9, 14, 23, 42, 38), datetime. datetime(2021, 9, 14, 23, 45, 8), datetime. datetime(2021, 9, 14, 23, 47, 38), datetime. datetime(2021, 9, 14, 23, 50, 8), datetime. datetime(2021, 9, 14, 23, 52, 38), datetime. datetime(2021, 9, 14, 23, 55, 8), datetime. datetime(2021, 9, 14, 23, 57, 38), datetime. datetime(2021, 9, 15, 0, 0, 8), datetime. datetime(2021, 9, 15, 0, 2, 38), datetime. datetime(2021, 9, 15, 0, 5, 8), datetime. datetime(2021, 9, 15, 0, 7, 39), datetime. datetime(2021, 9, 15, 0, 10, 9), datetime. datetime(2021, 9, 15, 0, 12, 39), datetime. datetime(2021, 9, 15, 0, 15, 9), datetime. datetime(2021, 9, 15, 0, 17, 39), datetime. datetime(2021, 9, 15, 0, 20, 9), datetime. datetime(2021, 9, 15, 0, 22, 39) ]
values = [-0.008762, -0.008346, -0。 008188, -0.007041, -0.00772, -0. 00828, -0.009916, -0.008358, -0. 00729, -0.008402, -0.007332, -0. 008073, -0.009283, -0.008321, -0. 008364, -0.00753, -0.007127, -0. 006744, -0.008065, -0.008973, -0. 00741, -0.008687, -0.009036, -0.010055]
如果你有大量的資料格式需要繪制,這種方式更適合作為模板使用,因為它很容易改變Addapt。然后是很容易得到符合你需要的日期時間格式。 事實上,matplotlib與這個庫有很好的整合,你可以在這個圖的X軸上看到。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/312380.html
標籤:
上一篇:如何從Counter庫中繪圖?


