Вы можете сгруппировать строки по столбцу cityName, а затем экспортировать их в отдельные csv для каждой группы, например:
РЕДАКТИРОВАТЬ: добавить результаты сохранения в файлы CSV
РЕДАКТИРОВАТЬ: добавить zip все файлы
import zipfile
import pandas as pd
df = pd.DataFrame(
data={'col1': ['a', 's', 'd', 'f', 'x'], 'col2': [5, 10, 0, 2, 4],
'cityName': ['Madrid', 'NEWYORK', 'London', 'Berlin', 'Madrid']})
groupby = df.groupby('cityName')
out_zip = zipfile.ZipFile("58377674.zip", "w")
for n, g in groupby:
print(n)
csv = g.to_csv(index=False)
print(csv)
csv_filename = "{}.csv".format(n)
with open(csv_filename, 'w') as out_file:
out_file.write(csv)
out_zip.write(csv_filename)