python - 我的 groupby() 在 pandas 数据框中不起作用
问题描述
我必须非常简单地创建一个组,但在我的情况下它不起作用。我无法重现实际数据,但假设我的 DF 是:
Cod Cost Date VAL
0 A123 123 2017-12-21 0.0
1 A123 123 2017-12-21 -2.0
2 A123 123 2017-12-21 -10.0
3 FB00 180 2016-12-11 80.0
4 FB00 180 2016-12-11 80.0
我必须为 Cod、Cost 和 Date 创建一个 groupby,并使用 reset_index() 获得相应的最小值。我的代码是:
DF = DF.groupby(['Cod', 'Cost','Date'])['VAL'].min().reset_index()
预期是:
Cod Cost Date VAL
0 A123 123 2017-12-21 -10.0
1 FB00 180 2016-12-11 80.0
但它返回:
Cod Cost Date VAL
0 A123 123 2017-12-21 0.0
1 A123 123 2017-12-21 0.0
2 A123 123 2017-12-21 80.0
3 FB00 180 2016-12-11 80.0
4 FB00 180 2016-12-11 80.0
解决方案
我刚刚模拟了您的样本及其对我的工作:
示例:
>>> df
Cod Cost Date VAL
0 A123 123 2017-12-21 0.0
1 A123 123 2017-12-21 -2.0
2 A123 123 2017-12-21 -10.0
3 FB00 180 2016-12-11 80.0
4 FB00 180 2016-12-11 80.0
结果:
>>> df.groupby(['Cod', 'Cost','Date'])['VAL'].min().reset_index() Cod Cost Date VAL
0 A123 123 2017-12-21 -10.0
1 FB00 180 2016-12-11 80.0
应用于熊猫:0.23.3
备用:
您也可以像下面这样申请:
>>> df.groupby(['Cod', 'Cost','Date']).min().reset_index()
Cod Cost Date VAL
0 A123 123 2017-12-21 -10.0
1 FB00 180 2016-12-11 80.0
它还应该与0.18.1
:
Python 3.5.1 (default, May 25 2016, 07:19:16)
[GCC 4.8.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>> pd.__version__
'0.18.1'
样本
>>> df
Cod Cost Date VAL
0 A123 123 2017-12-21 0.0
1 A123 123 2017-12-21 -2.0
2 A123 123 2017-12-21 -10.0
3 FB00 180 2016-12-11 80.0
4 FB00 180 2016-12-11 80.0
>>> df.groupby(['Cod', 'Cost','Date']).min().reset_index()
Cod Cost Date VAL
0 A123 123 2017-12-21 -10.0
1 FB00 180 2016-12-11 80.0
或者
>>> df.groupby(['Cod', 'Cost','Date'])['VAL'].min().reset_index()
Cod Cost Date VAL
0 A123 123 2017-12-21 -10.0
1 FB00 180 2016-12-11 80.0
推荐阅读
- elasticsearch - ElasticSearch 中的类似 PL/SQL 的触发器
- .net-core - 直接在 Azure Pipelines 中可视化 .net 核心代码覆盖率
- reactjs - 欢迎页面/使用 react/next.js 的第一个启动页面
- android - MediaRecorder:准备失败:-2147483648 Android 11
- javascript - Javascript - 使用 for 循环在数组中添加新列 - 错误
- visual-studio-code - vscode中scss的错误自动注释
- amazon-web-services - 从 Lambda 函数向 SSM 发送参数
- bash - 如何使用引号和符号将值设置为变量并准确复制
- javascript - JS FileReader:从本地文件中读取 Excel 和 CSV 并显示在表格上
- list - 颤振位置轮播滑块未居中