Если при использовании pandas или numpy вы делает вложенный for (а в большинстве случае и одинарный) - вы делаете что-то не так, во всяком случае - не самым оптимальным образом.
import numpy as np
import pandas as pd
print('pandas version: ' + pd.__version__)
print()
print('Source dataframe:')
X = pd.DataFrame([['John', 10],
['Mike', None],
['Alice', 20],
['Eve', None]], columns=['Name', 'Salary'])
print(X)
X['Salary'].fillna(0.0, inplace=True)
print()
print('Target dataframe:')
print(X)
pandas version: 0.18.1
Source dataframe:
Name Salary
0 John 10.0
1 Mike NaN
2 Alice 20.0
3 Eve NaN
Target dataframe:
Name Salary
0 John 10.0
1 Mike 0.0
2 Alice 20.0
3 Eve 0.0