在Pandas DataFrame上运行SQL查询

techie123

我有一个数据框df

ID 价钱 地区
1个 23
1个 45 DXB
2 25 德国
2 18岁 去做

我想在python中编写代码以获取以下输出

ID 价钱 地区
1个 45 DXB
2 25 去做

我尝试使用pandasql获取输出,但没有给出我想要的输出

我试过的代码是

import pandas as pd
import pandasql as ps

#to read table
df=pd.read_excel("test.xlsx")

ps.sqldf("select ID, max(Price), Region from df order by ID")

如果python本身(不使用pandasql)中还有任何其他代码可以获取上述输出,请告诉我

ky

您可以使用 groupby.transform

output_df = df[df['Price'].eq(df.groupby("ID")['Price'].transform("max"))]

ps.sqldf使用窗口函数获取最高价格,然后返回Price等于最高价格的行:

output_df  = ps.sqldf("""select ID,Price,Region from 
                        (select *, max(Price) over (partition by ID) max_Price from df)
                        where Price = max_Price""")

    ID  Price Region
0   1     45    DXB
1   2     25    GER

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL查询删除未在Pandas DataFrame中排序的元素

来自分类Dev

将sqlalchemy ORM查询对象转换为Pandas DataFrame的sql查询

来自分类Dev

对 Python 的 SQL 查询,使用 Pandas

来自分类Dev

Pandas Dataframe Mul在Multiindex上

来自分类Dev

Pandas DataFrame上的多个分组

来自分类Dev

快速替代方案,在Pandas DataFrame中的所有行上运行基于numpy的函数

来自分类Dev

在Pandas DataFrame上迭代功能的最快方法

来自分类Dev

在Pandas Dataframe上的if语句以添加列

来自分类Dev

在多个日期上运行Oracle SQL查询

来自分类Dev

Python SQL转换为Pandas DataFrame 2

来自分类Dev

Python SQL转换为Pandas DataFrame

来自分类Dev

Pandas:将行附加到已经通过pandas.DataFrame.apply运行的DataFrame

来自分类Dev

使用动态URL查询字符串过滤Pandas DataFrame

来自分类Dev

在Pandas Dataframe中查询Multiindex-特殊索引

来自分类Dev

如何在Python Pandas中实现变量列表以从DataFrame运行?

来自分类Dev

Pandas: dataframe to long format

来自分类Dev

Pandas DataFrame column concatenation

来自分类Dev

自然排序Pandas DataFrame

来自分类Dev

Normalizing a pandas DataFrame by row

来自分类Dev

Column to row in pandas dataframe

来自分类Dev

Pandas multiIndex DataFrame sort

来自分类Dev

Pandas DataFrame列串联

来自分类Dev

使用Pandas扩展DataFrame

来自分类Dev

plot dataframe pandas not working

来自分类Dev

迭代创建pandas DataFrame

来自分类Dev

循环添加Pandas DataFrame

来自分类Dev

Pandas Dataframe的Web抓取

来自分类Dev

计算Pandas Dataframe的整列

来自分类Dev

熊猫系列的Pandas DataFrame