gpt4 book ai didi

python - 替换 Pandas 数据框中特定范围的值

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:06 26 4
gpt4 key购买 nike

我有大数据集,其中有大量值远超平均水平。例如,

    A         B
1 'H' 10
2 'E' 10000
3 'L' 12
4 'L' 8
5 'O' 11

我想将 B2 单元格设置为 0,我试过了,

df['B'] = df['B'].replace([df['B'] > 15], 0)

但没有得到任何运气。如何使我的数据框成为这样,

    A         B
1 'H' 10
2 'E' 0
3 'L' 12
4 'L' 8
5 'O' 11

谢谢!

最佳答案

你真的很接近 - 而不是 replace,使用 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

备选方案:

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

如果你想替换一些范围:

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

关于python - 替换 Pandas 数据框中特定范围的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46168450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com