我有前6列作为日期的数据,最后一列是值:
2013 03 17 00 00 00.000000 -3.140000
2013 03 17 00 00 30.000000 -2.140000
数据点是每30秒一次。我想将0、1、2、3、5列用作x值时间,并将其与最后一列相对应。
omnibz = np.loadtxt('data')
bz_plt = plt.plot(omni[:,5],omnibz[:,6],linewidth=1.1)
我应该如何解决这个问题?
答案 0 :(得分:0)
这将起作用(但会降低小数秒):
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
d = np.array([[2013,3,17,0,0,0.000000,
-3.140000],[2016,3,17,0,0,30.000000,-2.140000]])
d_time = pd.to_datetime(((d[:,0:1]*10000000000)+(d[:,1:2]*100000000)+(d[:,2:3]*1000000)+(d[:,3:4]*10000)+(d[:,4:5]*100)+np.round(d[:,5:6])).squeeze().astype(int),format='%Y%m%d%H%M%S')
plt.plot(d_time,d[:,6:7])