我在csv文件中有三个数据集。
一个csv包含三个类型:small_ airport, Large_airport和medium_airport。其他CSV包含id、airport_ref、airport_ident、type、description、frequency_mhz。现在我要加入每个类别,大型机场,中型机场,小型机场到通信频率"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"')
与我对中小型机场所做的类似,现在我想为每个大型机场和频率超过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)
如何计算每个大型机场和频率超过100 mhz的"frequency_mhz"的平均值,模式和中位数?
请将'airport_frequencies'重命名为'airport_frequencies',您的查询将正常工作。SQL不能很好地处理"-",所以避免使用它。
ps.sqldf("select max(frequency_mhz), min(frequency_mhz), avg(frequency_mhz) from 'airport-frequencies'").
我猜这个表不存在,你是说airport_freq吗?如果有,你需要处理"-">