a1["合约值"]=a1["合约数"].astype("float")+a1["收盘价"].astype("float") a1.groupby(a1.index)["合约值"].apply(lambda x:x.value_counts()[0]) 报错KeyError: 0
时间: 2023-07-19 11:05:56 浏览: 88
这个错误出现的原因是 lambda 函数中的 value_counts() 方法返回的是一个 Series,而 Series 没有名为 0 的键,因此会报 KeyError。你可以使用 value_counts().index[0] 来获取最常见的值,即出现次数最多的值,也就是众数。修改后的代码如下:
```
a1["合约值"]=a1["合约数"].astype("float")+a1["收盘价"].astype("float")
a1.groupby(a1.index)["合约值"].apply(lambda x: x.value_counts().index[0])
```
这样就可以得到每个日期的合约值的众数了。
阅读全文