#!/usr/bin/env python # coding: utf-8 # # Palindromes # In[1]: import pandas as pd # --- # In[7]: # http://ukgaz.ben-daglish.net/cgi-bin/ukgaz.cgi?page=download db = pd.read_csv('ukgaz/places.csv', \ encoding='iso-8859-1', \ index_col='id') db.head() # In[21]: def ispalin(n): if n.lower() == n.lower()[::-1]: return True else: return False # In[41]: palin = db.loc[:, 'name'].apply(ispalin) long_palins = db.loc[palin==True, 'name']\ .apply(len)\ .sort_values(ascending=False)\ .index db.loc[long_palins, 'name'] # --- # In[55]: import os p = 'opname_csv_gb/DATA/' reader = lambda f: pd.read_csv(p+f, header=None).loc[:, 2] db = pd.concat(map(reader, os.listdir(p))) # In[75]: palin = db.apply(ispalin) lens = db.loc[palin==True]\ .apply(len) # In[76]: pd.DataFrame({'Name': db.loc[palin==True], \ 'len': lens})\ .sort_values('len', ascending=False)