Python/Pandas Some Tricks
Find empty index of a Series of list
df[df.str .len ()==0 ].index
Return the longest string of each element
df.apply(lambda x:max (x, key=len ))
Sort a dict
import operator
x = {1 : 2 , 3 : 4 , 4 : 3 , 2 : 1 , 0 : 0 }
#sort by value
sorted_x = sorted(x .items (), key=operator.itemgetter (1 ))
#sort by key
sorted_x = sorted(x .items (), key=operator.itemgetter (0 ))
Sort a list of tuples
import operator
x = [(1 ,2 ), (3 ,4 ), (4 ,3 ), (2 ,1 ), (0 ,0 )]
sorted_x = sorted(x, key =operator .itemgetter(1 ))
Longest word in a list
max (lst, key=len )
List zip
list (zip(lstA, lstB))
#out :[ (lstA1, lstB1),
(lstA2, lstB2),
... . ]
Map target into binary values
spam_data['target' ] = np.where (spam_data['target' ]=='spam' ,1 ,0 )
Sort the array and return the original index
arr.argsort ()
see a Seaborn style
import seaborn as sns
sns.axes_style('white' )
change the default style
stl_white1 = sns.axes_style('white' , {'axes.labelcolor' :'b' , 'axes.linewidth' : 0.5 , 'xtick.major.size' :3 , 'ytick.major.size' :3 })
sns.set (style=stl_white1,font='Comfortaa' , font_scale=1.5 )
font names
import matplotlib as mpl
font_paths = mpl.font _manager.findSystemFonts ()
font_objects = mpl.font _manager.createFontList (font_paths)
font_names = [f.name for f in font_objects]
print (font_names)