2013-12-17 16 views

risposta

22
>>> import pandas as pd 
>>> df = pd.DataFrame([[1,2],[3,4]], columns=list('ab')) 
>>> df 
    a b 
0 1 2 
1 3 4 
>>> df['c'] = df['b']**2 
>>> df 
    a b c 
0 1 2 4 
1 3 4 16 
6

Niente di sbagliato con la risposta accettata, v'è anche:

df = pd.DataFrame({'a': range(0,100)}) 
np.square(df) 
np.power(df, 2) 

che è sempre in modo leggermente più veloce:

In [11]: %timeit df ** 2 
10000 loops, best of 3: 95.9 µs per loop 

In [13]: %timeit np.square(df) 
10000 loops, best of 3: 85 µs per loop 

In [15]: %timeit np.power(df, 2) 
10000 loops, best of 3: 85.6 µs per loop 
Problemi correlati