如何使用 sqlite 查询中的 pandas.read_sql 显示浮点值

How to show float values with pandas.read_sql from a sqlite query

我需要为使用 python/sqlite3 的作业获取此结果。 required result

我在 MYSQL 中进行了查询,我已经得到了作业问题的答案。由于我正在学习,我发现首先使用 MySQL Workbench 进行查询更容易。 result in MySQLWorkbench

但是,当我尝试在带有 Sqlite3 的 Jupyter notebook 中执行此操作时,它仅在百分比列中显示零。 我正在使用函数 pd.read_sql_query。我去了 documentation 并在那里找不到任何可以做我想做的事情的论点,或者我不明白。我玩过 coarse_float 参数,但没有什么不同。我在学习,所以有时候,我看不懂文档。

query_results = pd.read_sql_query(query1,conn)

这是我在 Jupyter 笔记本中得到的: Output un Jupyter Notebook

我知道数字在那里,因为如果我将“percentage_female_only_movie”列乘以 100 次,我就会看到它们。我想知道如何像 MYSQLWorkbench.

那样展示它们

感谢您的帮助。如果您知道任何 link 我可以了解此类问题的地方,如果您可以分享,我会很高兴。

试试 df[colname] = df[colname].astype(float).

这会将您的列转换为浮点数,您应该会看到值

我找到了解决方案。我需要转换我在查询的 SELECT 语句中生成的列的分子和分母。

SELECT SUBSTR(TRIM(m.year),-4) AS Movie_year,
    ROUND(CAST(fcm.Female_Cast_Only_Movies*100 AS FLOAT)/ CAST(tm.movies_total AS FLOAT),2) AS Percentage_Female_only_Movie,
   tm.movies_total As Total_movies

来自电影 AS m

输出:

enter image description here