Replace A Specific Range Of Values In A Pandas Dataframe
I have big data set and there are tons of values which are way over average. For example, A B 1 'H' 10 2 'E' 10000 3 'L' 12 4 'L' 8 5 'O'
Solution 1:
You are really close - instead of replace
, use mask
:
df['B'] = df['B'].mask(df['B'] > 15, 0)
print (df)
A B
1 'H' 10
2 'E' 0
3 'L' 12
4 'L' 8
5 'O' 11
Alternative:
df['B'] = np.where(df['B'] > 15, 0, df['B'])
print (df)
A B
1 'H' 10
2 'E' 0
3 'L' 12
4 'L' 8
5 'O' 11
If you want replace some range:
df['B'] = np.where(df['B'].between(8,11), 0, df['B'])
print (df)
A B
1 'H' 0
2 'E' 10000
3 'L' 12
4 'L' 0
5 'O' 0
Solution 2:
Another alternative:
df.loc[df['B'] > 15, 'B'] = 0
# df# B#0 10#1 0#2 12#3 8#4 11
Post a Comment for "Replace A Specific Range Of Values In A Pandas Dataframe"