Ho passato un po 'di tempo su google e non ho trovato risposta alla semplice domanda: come posso mappare la colonna di dati di Pandas sul posto? Dire, ho il seguente df:colonna mappa Pandas in posizione
In [67]: frame = pd.DataFrame(np.random.randn(4, 3), columns=list('bde'), index=['Utah', 'Ohio', 'Texas', 'Oregon'])
In [68]: frame
Out[68]:
b d e
Utah -1.240032 1.586191 -1.272617
Ohio -0.161516 -2.169133 0.223268
Texas -1.921675 0.246167 -0.744242
Oregon 0.371843 2.346133 2.083234
e voglio aggiungere 1 ad ogni valore di b
colonna. So che posso farlo così:
In [69]: frame['b'] = frame['b'].map(lambda x: x + 1)
O come che - per quanto ne so non c'è differenza tra map
e apply
nel contesto Series
(tranne che map
può anche accettare dict
o Series
) - correggimi se sbaglio:
In [71]: frame['b'] = frame['b'].apply(lambda x: x + 1)
Ma non mi piace che specifica 'b'
due volte. Invece, vorrei fare qualcosa del genere:
frame['b'].map(lambda x: x + 1, inplace=True)
È possibile?
Se si seleziona [ 'map'] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.map.html) - no, non è possibile. – jezrael