import pandas as pd
import numpy as np
df = pd.DataFrame({'value':np.arange(1000000)})
# Solution 1 - Fastest :
df['value'] = np.where(df['value'] > 20000, 0, df['value'])
# Solution 2:
df.loc[df['value'] > 20000, 'value'] = 0
# Solution 3:
df['value'] = df['value'].mask(df['value'] > 20000, 0)
# Solution 4 - Slowest, note that df.where applies where condition is wrong:
df['a'] = df.where(df.a <= 20000, 0)
In [41]:
df.loc[df['First Season'] > 1990, 'First Season'] = 1
df
Out[41]:
Team First Season Total Games
0 Dallas Cowboys 1960 894
1 Chicago Bears 1920 1357
2 Green Bay Packers 1921 1339
3 Miami Dolphins 1966 792
4 Baltimore Ravens 1 326
5 San Franciso 49ers 1950 1003
time_sin_grad[time_sin_grad < 0] = 0
d.loc[d["conditionDisplayName"] == "Brand New", "conditionDisplayName"] = 6
d.loc[d["conditionDisplayName"] != "Brand New", "conditionDisplayName"] = 4