Python 根据属性和Carto上的映射对公交车站进行评级

Python 根据属性和Carto上的映射对公交车站进行评级,python,sql,data-visualization,cartodb,opendata,Python,Sql,Data Visualization,Cartodb,Opendata,我有一个公共汽车站数据集,我想打印到Carto上。该数据集包括关于公交车站的属性列,我想创建一个名为Rating的新列,该列将根据这些属性对公交车站是否有路线图或其对行人的友好程度进行评分 首先,我使用此sql代码创建了一个名为rating的新列 alter table metro_bus_stops add rating int NOT NULL DEFAULT(0) 然后,我使用以下代码为具有bike racks attribute=bstp\u has\u bkrs的公共汽车站添加3个点

我有一个公共汽车站数据集,我想打印到Carto上。该数据集包括关于公交车站的属性列,我想创建一个名为Rating的新列,该列将根据这些属性对公交车站是否有路线图或其对行人的友好程度进行评分

首先,我使用此sql代码创建了一个名为rating的新列

alter table metro_bus_stops
add rating int NOT NULL DEFAULT(0)
然后,我使用以下代码为具有bike racks attribute=bstp\u has\u bkrs的公共汽车站添加3个点

update metro_bus_stops
SET rating = rating + 3
WHERE bstp_has_bkrs = 'Y'
我总共有27个属性,可以给评分加分或减分。我想最终根据Carto上的这些评分绘制公交车站点。有没有更好的方法来处理此问题,而不是单独为每个属性添加计算?我想知道在Python中使用if-else语句的公式是否可以做得更好

是我正在使用的公共汽车站数据,如果有帮助的话


任何反馈都将不胜感激

您可以将任意数量的列组合到SQL语句中,并将它们与逻辑运算符(如AND和OR)组合在一起。这应该是最简单的方法,例如:

update metro_bus_stops
SET rating = rating + 3
WHERE bstp_has_bkrs = 'Y' 
   OR attribute2 = value2 AND
   AND attribute3 > value3 
   OR ...