python - 没有聚合函数的分组

标签 python pandas pandasql

我见过这样的 pandasql 查询:

df = pd.DataFrame({'A': [1, 2, 2], 'B': [3, 4, 5]})
sqldf('select * from df group by A', locals())

这给出:

   A  B
0  1  3
1  2  6

我发现在没有聚合函数的情况下进行分组真的很奇怪,但是谁能告诉我在聚合列上使用哪个函数将多个值缩减为一个?

最佳答案

看起来您正在寻找的 groupby 方法是 last():

df = pd.DataFrame({'A': [1, 2, 2], 'B': [3, 4, 5]})
df.groupby('A', as_index=False).last()

输出:

   A  B
0  1  3
1  2  5

我这么说是假设 5 是一个错字(请参阅我上面的评论)并且应该是 6。

关于python - 没有聚合函数的分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42901609/

相关文章:

python - 使用理解得到两个值

python - 将 PMML 中的 SVM 模型导入 Java 或 Python?

python - 使用 Python 和 GAE 对编码的 URL 查询参数进行不一致的解码

python - 如何将 Pandas 列转换为数组并进行转置?

python - pandasql不会导入: ImportError: cannot import name to_sql

python - 使用 pandasql 时在 VS Code 中使用多个制表符间距设置和注释

python - 在 Python 中打印格式正确的 SQLite 表

python - 列表元素与 pandas 列的关键字匹配

python - Pandas 数据框 - 运行总和并重置

python - pandasql::sqldf 不捕获循环变量