【发布时间】:2018-12-13 16:19:10
【问题描述】:
我有一个 .csv 文件,其中包含以下方式的表格:
lon lat Day1 Day2 Day3 ....
77.32 28.42 1250 850 680
77.32 28.88 786 986 760
给定一个特定的 lat lon 值,比如 lon=77.32 和 lat=28.42,我想读取一行并按以下方式重新排列:
Albedo Values
11-11-2016 1250
12-11-2016 850
13-11-2016 680
. . . . . . .
. . . . . . .
“日”列已替换为日期列表。
背景:
我想根据这些数据进一步绘制折线图。目前我正在尝试使用以下代码来绘制这些数据:
#relevant imports:
import matplotlib.pyplot as plt
import pandas as pd
import statsmodels.api as sm
#specifying lat lon value range:
l=float(28.42)
l1=float(28.43)
k=float(77.32)
k1=float(77.33)
#reading the relevant row
df=pd.read_csv(path+file, index_col=['lon','lat']).query( '@k <= lon < @k1 and @l < lat <= @l1').T
print(df)
输出:
lon 77.328125
lat 28.421875
Day1 1250.250000
Day2 804.250000
Day3 750.000000
Day4 713.875000
Day5 740.650000
Day6 840.250000
Day7 844.200000
Day8 1009.000000
^这是我现在正在使用的数据框,它是一种转换方法。
df.plot(legend=True) #plot column
plt.show()
输出:
如您所见,x 轴上没有标签,并且使用我当前使用的数据框,我无法在 x 轴上添加日期。一旦我得到所需的数据框,我就可以解决这个问题。即使您可以建议我使用这个临时数据框本身在 x 轴上添加日期,我的问题也将得到解决。希望我的问题有意义。谢谢。
【问题讨论】:
标签: pandas datetime dataframe matplotlib