I have a dataframe and I’d like to perform exponential calculation on a subset of rows in a column. I’ve tried three versions of code and two of them worked. But I don’t understand why one version gives me the error.

```
import numpy as np
```

Version 1 (working)

```
np.exp(test * 1.0)
```

Version 2 (working)

```
np.exp(test.to_list())
```

Version 3 (Error)

```
np.exp(test)
```

It shows the error below:

```
AttributeError Traceback (most recent call last)
AttributeError: 'int' object has no attribute 'exp'
The above exception was the direct cause of the following exception:
TypeError Traceback (most recent call last)
<ipython-input-161-9d5afc93942c> in <module>()
----> 1 np.exp(pd_feature.loc[(pd_feature[col] > 0) & (pd_feature[col] < 700), col])
TypeError: loop of ufunc does not support argument 0 of type int which has no callable exp method
```

The test data is generated by:

```
test = pd.loc[(pd['a'] > 0) & (pd['a'] < 650), 'a']
```

The data in test is just:

```
0 600
2 600
42 600
43 600
47 600
60 600
67 600
Name: a, dtype: Int64
```

and its data type is:

```
<class 'pandas.core.series.Series'>
```

However, if I try to generate a dummy dataset, it works:

```
data = {'a':[600, 600, 600, 600, 600, 600, 600], 'b': ['a', 'a', 'a', 'a', 'a', 'a', 'a']}
df = pd.DataFrame(data)
np.exp(df.loc[:,'a'])
```

Any idea of why I see this error? Thank you very much.

## Kenil Vasani

I just saw your post and would like to answer.

I guess your problem occurs because some numpy functions require

type argument explicity, whereas your such use of the code asfloat`np.exp(test)`

putsdata into the argument.intSolution could be:

Would you check if it works to you?

I’d be glad to help.