为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Pandas 中重写以下 SQL 代码以显示查询而不仅仅是标题?

如何在 Pandas 中重写以下 SQL 代码以显示查询而不仅仅是标题?

郎朗坤 2023-12-29 16:12:36
我有一个数据集,我正在尝试将 SQL 查询写入 Pandas 中。SQL查询代码为:`SELECT Industry_type, No_of_Employees, Employee_Insurance_Premium, Percent_Female_Employees FROM cdc_newWHERE Industry_type= 'Hospitals' AND Employee_Insurance_Premium='Decreased'ORDER BY Percent_Female_Employees DESC;`这是我在 Pandas 中编写的代码:pd.DataFrame(cdc_new[(cdc_new.Industry_type == 'Hospitals') & (cdc_new.Employee_Insurance_Premium == 'Decreased')][['No_of_Employees', 'Industry_type', 'Employee_Insurance_Premium', 'Percent_Female_Employees']].sort_values(['Percent_Female_Employees'], ascending=[False]))我得到的输出只有标题,没有文本。
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

您可以添加运行第二行后收到的输出/错误吗?您可以添加用于创建cdc_new变量的行吗?

您已经创建了变量cdc_new吗?尝试运行:

cdc_new.head()

查看您的数据是否与您正在查询的表匹配。

如果是这样,您应该能够运行:

cdc_new[(cdc_new.Industry_type=='Hospitals') & (cdc_new.Employee_Insurance_Premium=='Decreased')]

您的代码的其余部分看起来不错。您不需要将其包装起来,pd.DataFrame()因为存储在其中的数据cdc_new应该已经是DataFrame.

如果遇到问题,请仔细检查运行 SQL 查询时是否获得输出以及变量中的数据cdc_new是否与数据表匹配。


查看完整回答
反对 回复 2023-12-29
?
慕村9548890

TA贡献1884条经验 获得超4个赞

假设您已经从 sql 中读取了整个表,如下所示:


cdc_new = pd.read_sql(query, conn)

您可以使用以下语法:


df = (cdc_new.loc[(cdc_new['Industry_type'] == 'Hospitals') &

                  (cdc_new['Employee_Insurance_Premium'] == 'Decreased'),

                  ['Industry_type',

                   'No_of_Employees',

                   'Employee_Insurance_Premium',

                   'Percent_Female_Employees']]

             .sort_values('Percent_Female_Employees', ascending=False))

df


查看完整回答
反对 回复 2023-12-29
?
达令说

TA贡献1821条经验 获得超6个赞

如果这有效并返回记录:


SELECT Industry_type, No_of_Employees, Employee_Insurance_Premium, Percent_Female_Employees FROM cdc_new WHERE Industry_type= 'Hospitals' AND Employee_Insurance_Premium='Decreased' ORDER BY Percent_Female_Employees DESC;

记录集已被修剪和排序,因此您应该按写入方式使用它。这里使用 pandas 进行演示,而不是分析。


然后使用:


import pandas as pd 

cxn   = "Connection string to your database"


inSQL = "SELECT Industry_type, No_of_Employees, Employee_Insurance_Premium, Percent_Female_Employees FROM cdc_new WHERE Industry_type= 'Hospitals' AND Employee_Insurance_Premium='Decreased' ORDER BY Percent_Female_Employees DESC;"


df            = pd.read_sql(inSQL,cxn)


查看完整回答
反对 回复 2023-12-29
  • 3 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信