python 和 sql 查询中的问题

issue in python and sql query

我在 csv 文件中有三个数据集。
一个 csv 包含的类型是 small_airport、Large_airport 和 medium_airport。 其他 csv 包含 id、airport_ref、airport_ident、类型、描述、frequency_mhz。 现在我正在加入每个类别,large_airport,medium_airport,小机场 到通信频率“frequency_mhz”。 代码是

ps.sqldf('select airport_ident, airport_freq.type, description, frequency_mhz from airport_freq\
         join airports on airport_freq.airport_ref = airports.id where airports.type = "large_airport"')

与我为中小型机场所做的类似,现在我想为每个 large_airport 和超过 100 mhz 的频率生成“frequency_mhz”的均值、众数和中值。 我用过:

ps.sqldf('select max(frequency_mhz), min(frequency_mhz), avg(frequency_mhz) from airport-frequencies').

报错:

PandaSQLException: (sqlite3.OperationalError) near "-": syntax error
[SQL: select max(frequency_mhz), min(frequency_mhz), avg(frequency_mhz) from airport-frequencies]
(Background on this error at: http://sqlalche.me/e/e3q8)

如何计算每个 large_airport 和频率超过 100 mhz 的“frequency_mhz”的均值、众数和中值?

ps.sqldf("select max(frequency_mhz), min(frequency_mhz), avg(frequency_mhz) from 'airport-frequencies'").

我猜这个 table 不存在,你是说 airport_freq 吗?或者如果你必须处理“-”

请将 'airport-frequencies' 重命名为 'airport_frequencies',您的查询将正常运行。 SQL 不能很好地处理“-”,所以避免使用它。