【发布时间】:2019-09-25 23:53:22
【问题描述】:
This 是我的.dat 文件。我想使用以下脚本绘制TIMESTAMP 与GHI:
import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
path = r'C:\Users\...'
file = '\\File.DAT'
df = pd.read_csv(path+file, sep=',', header=0, skiprows=0)
df = df[['TIMESTAMP', 'GHI']]
df.drop([0,1], inplace=True)
df['TIMESTAMP'] = pd.to_datetime(df['TIMESTAMP'], dayfirst=True)
df.set_index('TIMESTAMP', inplace=True)
fig, ax = plt.subplots(figsize=(9,4))
ax.plot(df.index, df['GHI'])
plt.show()
如果将数据框 df 保存到 .csv 文件,然后重新加载为 df,同样的绘图脚本,它会给出正确结果(下图)。
我想知道为什么从读取 .dat 文件的df 绘图会给出错误的结果,而从读取 .csv 文件的df 绘图会给出正确的结果?
对解决方案有什么建议吗?
【问题讨论】:
-
.dat文件是什么样的?您是否检查了分隔符/数据条目?第一个情节中的所有黑色东西是什么? -
- alexandra,在第一段,给出了文件的链接。它使用逗号分隔符 (,)。 y轴上的黑色东西是第二个图中整齐呈现的数据值。
-
您的脚本显示您使用数据框进行绘图。您还可以展示如何从 dat 文件中“直接”绘图吗?
-
最后一段中的问题现在被重新选择
-
看起来
df['GHI']在.dat 文件中保存/读取时可能是字符串?
标签: python pandas dataframe matplotlib