I have a really awkward pandas DataFrame that looks kind of like this:
identifier    per_1       per_2       per_3       per_4       per_5
'something'   124/127     100/100     24/39       14/20       10/10
'camel'       121/122     150/206     300/307     11/12       0/2
 ...          ...         ...         ...         ...         ...
So, everything but the first column is a 'fraction' that's actually a string. I'd prefer them in decimal form. To access everything but the first column, I grab:
df.loc[:,df.columns != ('identifier')]
Which works fine. If I wanted to turn a single column into decimals, I could do:
df['per_1'] = df['per_1'].apply(lambda x: [float(n) for n in x.split('/')[0:2]])
df['per_1'] = df['per_1'].apply(lambda x: x[0] / x[1] if x[1] != 0 else np.nan)
I'd then have to iterate over every column that I want to do this for. This doesn't feel very pythonic to me, considering that I can actually grab every column that I want to do this for using df.loc[:,df.columns != ('identifier')]. Is there a better way to go about this? 
 
    