问题遇到的现象和发生背景
想用python做一阶差分。
其实我以前作过一个类似的问题,上次的那个程序是可以运行的,但是当时用的和鲸社区的在线编译。
这次用的pycharm,它就不好使了,一直报错
代码如下
cli=cli[['date','date1','tavg','tmax','tmin','prcp','y','m','d']]
cli=cli.set_index('date')
cli['tavg']=(cli['tavg'].astype('float')-32)*5/9# 温度华氏度换算为摄氏度
cli['tmax']=(cli['tmax'].astype('float')-32)*5/9
cli['tmin']=(cli['tmin'].astype('float')-32)*5/9
cli['prcp']=(cli['prcp'].astype('float'))*304.8# 降水量英尺换算为毫米
cli1=cli.query('y<2011')
cli2=cli.query('2010<y<2021')
tmax1=cli1['tmax'].fillna(cli1['tmax'].interpolate)
tmin1=cli1['tmin'].fillna(cli1['tmin'].interpolate)
prcp1=cli1['prcp'].fillna(cli1['prcp'].interpolate)
cli1=pd.concat([tmax1,tmin1,prcp1],axis=1)
cli1['tmax'].diff().plot(figsize=(20,6))
plt.title('Diff(1) of the highest daily temperature from 1950 to 2010',fontsize=20)
plt.xlabel('date',fontsize=14)
plt.ylabel('diff(1) of the highest daily temperature(°C)',fontsize=14)
运行结果及报错内容
Traceback (most recent call last):
File "D:\python\pycharm\project\no.1.py", line 49, in <module>
cli1['tmax'].diff().plot(figsize=(20,6))
File "D:\python\pycharm\project\venv\lib\site-packages\pandas\core\series.py", line 2903, in diff
result = algorithms.diff(self._values, periods)
File "D:\python\pycharm\project\venv\lib\site-packages\pandas\core\algorithms.py", line 1775, in diff
out_arr[res_indexer] = op(arr[res_indexer], arr[lag_indexer])
我想要达到的结果
这是我上次做的图,求解答呀~蟹蟹!