类型值之后,没有日期格式

时间:2019-01-20 00:04:09

标签: python pandas numpy matplotlib

在处理数据时,它会显示日期值,但存在格式问题。

      Fuel  price   DATE
0   Diesel  1669    2014-11-06
1   Diesel  1549    2014-11-02
2   Diesel  1529    2014-11-03
3   Diesel  1519    2014-11-06 
4   Diesel  1529    2014-11-06

所以我这样做:

 import numpy as np
 df_diesel['DATE']= df_diesel['DATE'].values.astype(np.int64)
 df_diesel['DATE'].dtype

然后,它可以成功绘制。但是日期格式2014-11-06消失了,转移到了1544054400000000000。如果不这样做,就无法合并表格或绘图。那很麻烦。

如何成功合并表格和绘图,以及如何使用日期格式 再次显示1544054400000000000

绘图代码:

from matplotlib import pyplot as plt 
%matplotlib inline
plt.title("Analyse")

plt.xlabel("DATE")
plt.ylabel("price")
plt.scatter(df_diesel['DATE'], df_diesel['price'])
plt.show()

1 个答案:

答案 0 :(得分:2)

我只考虑日期列,

输入:

    DATE         Fuel   Price
0   2014-11-06  Diesel  1669
1   2014-11-02  Diesel  1549
2   2014-11-03  Diesel  1529
3   2014-11-06  Diesel  1519
4   2014-11-06  Diesel  1529

df['DATE']= df['DATE'].values.astype(np.int64)
df

输出:

     DATE                Fuel   Price
0   1415232000000000000 Diesel  1669
1   1414886400000000000 Diesel  1549
2   1414972800000000000 Diesel  1529
3   1415232000000000000 Diesel  1519
4   1415232000000000000 Diesel  1529

日期已转换为timestamp。要将其转换回原始格式,只需

df['DATE'] = pd.to_datetime(df['DATE'], unit='ns')
df

输出:

     DATE    Fuel   Price
0   2014-11-06  Diesel  1669
1   2014-11-02  Diesel  1549
2   2014-11-03  Diesel  1529
3   2014-11-06  Diesel  1519
4   2014-11-06  Diesel  1529

现在,使用此图进行绘制,

from matplotlib import pyplot as plt 
%matplotlib inline
plt.title("Analyse")

plt.xlabel("DATE")
plt.ylabel("Price")
plt.scatter(list(df['DATE'].values), list(df['Price'].values))
plt.show()

输出:

enter image description here