簡體   English   中英

替換熊貓列中的值

[英]Replacing Values in Pandas Columns

是否可以根據邏輯用值N / A替換大熊貓DataFrame的值,該邏輯確定值是高於還是低於某個閾值?

import pandas as pd

df = pd.DataFrame({'date': pd.date_range(start='2015-12-31',
                                       periods=13,
                                      freq='M'),
               'val': [1, 10, 25, -1000, 45, 66, 99, 88,128, 256,512,1024, 2048]}).set_index('date')

所以我想用N / A替換任何> abs 10的值

您可以創建一個布爾掩碼來僅設置滿足布爾條件的行,還可以使用abs測試值是否為+/- 10:

In [107]:    
df.loc[df['val'].abs() > 10, 'val' ] = np.NaN
df

Out[107]:
             val
date            
2015-12-31   1.0
2016-01-31  10.0
2016-02-29   NaN
2016-03-31   NaN
2016-04-30   NaN
2016-05-31   NaN
2016-06-30   NaN
2016-07-31   NaN
2016-08-31   NaN
2016-09-30   NaN
2016-10-31   NaN
2016-11-30   NaN
2016-12-31   NaN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM