卷毛马咩咩 2022-11-28 10:57 采纳率: 0%
浏览 18

python绘图报错:TypeError: unsupported operand type(s) for -: 'method' and 'float'

问题遇到的现象和发生背景

想用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])
我想要达到的结果

这是我上次做的图,求解答呀~蟹蟹!

img

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 修改了问题 11月28日
  • 创建了问题 11月28日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用