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 不能很好地处理“-”,所以避免使用它。
我在 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 不能很好地处理“-”,所以避免使用它。