猿问

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

我有一个数据集,我正在尝试将 SQL 查询写入 Pandas 中。


SQL查询代码为:


`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 中编写的代码:


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]))

我得到的输出只有标题,没有文本。


郎朗坤
浏览 126回答 3
3回答

慕田峪4524236

您可以添加运行第二行后收到的输出/错误吗?您可以添加用于创建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是否与数据表匹配。

慕村9548890

假设您已经从 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

达令说

如果这有效并返回记录: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)
随时随地看视频慕课网APP

相关分类

Python
我要回答