python - 在某些季节使用 pivot_table 或 pd.groupby
问题描述
我有如下数据集:
Year Month Dryden 3rdAve Clark Landfill
0 2015 1 0.00 0.00 0.0 NaN
1 2015 1 0.00 0.00 0.0 NaN
2 2015 1 0.00 0.00 0.0 NaN
3 2015 1 0.00 0.00 0.0 NaN
4 2015 1 0.00 0.00 0.0 NaN
5 2015 1 0.00 0.00 0.0 NaN
6 2015 1 0.00 0.00 0.0 NaN
7 2015 1 0.00 0.00 0.0 NaN
8 2015 1 0.00 0.00 0.0 NaN
9 2015 1 0.00 0.00 0.0 NaN
10 2015 1 0.00 0.00 0.0 NaN
11 2015 1 0.00 0.00 0.0 NaN
我想运行下面的代码来计算每个季节的 Dryden 值的平均值:
df.Dryden.groupby([df.Year,pd.cut(df.Month,[0,3,6,9,12],labels=['Winter','Spring','Summer','Autumn'],right =False)]).mean()
我收到此错误:
TypeError:“int”和“str”的实例之间不支持“>”
df.dtype 给了我:
Year int64
Month object
Dryden float64
3rdAve float64
Clark float64
Landfill float64
dtype: object
我想知道是否有人可以帮助我。
解决方案
将您的 Month 列转换为这样的整数:
df.Month = df.Month.astype(int)
然后运行您的代码:
In [61]: df.Dryden.groupby([df.Year,pd.cut(df.Month,[0,3,6,9,12],labels=['Winter','Spring','Summer','Autumn'],right =False)]).mean()
Out[61]:
Year Month
2015 Winter 0.0
Name: Dryden, dtype: float64
如果你得到一个值错误,也许这可以代替:
df.Month = pd.to_numeric(df.Month, errors='coerce')
推荐阅读
- reactjs - ReactJS Material-UI 如何将组件固定在锚定菜单之上
- android - READ_PHONE_STATE 权限似乎在 Android 11 中被主动拒绝
- sql - 错误语法错误:预期输入结束,但在 [19:10] 得到“(”
- java - 在 Java(或 Kotlin)中,我需要使用时区将日期和时间从 yyyy-mm-dd 和 hh:mm:ss 格式转换为 LocalDate LocalTime
- html - Html P 标记内的代码在 Safari 浏览器中以两个不同的行显示输出
- r - R:当union_all在var类型中达到错误时更改数据集的Var类型
- angular - 插入动态组件时,Angular不会在伪元素之前和之后插入
- unity3d - 我想在 Unity 中使用带有脚本的 MRTK(混合现实工具包)手势
- reactjs - React Native 中的底部导航
- jdbc - ORA-01858: 在需要数字的地方发现了一个非数字字符