簡體   English   中英

如何修改 Python 中的代碼以便僅對 Pandas 中的 NOT NaN 行進行計算?

[英]How to modify code in Python so as to make calculations only on NOT NaN rows in Pandas?

我在 Python 中有 Pandas 數據框,如下所示:

NR
--------
910517196
921122192
NaN

通過使用下面的代碼,我嘗試根據上面數據框中的 NR 列計算年齡(下面的代碼如何工作無關緊要,我知道它是正確的 - 簡單地說,我采用 6 個第一個值來計算年齡,因為例如 910517 是1991-05-17 :)):

df["age"] = (ABT_DATE - pd.to_datetime(df.NR.str[:6], format = '%y%m%d')) / np.timedelta64(1, 'Y')

我的問題是:我可以修改上面的代碼以僅使用數據框中“NR”列中的 NOT NaN 值來計算年齡,但有些值是 NaN。

我的問題是:如何修改我的代碼以便僅計算列“NR”中的這些行,其中不是 NaN ?

因此,我需要類似下面的內容,所以我只需要暫時忽略 NaN 行,並且在 NR 列中存在 NaN 的情況下,在計算的年齡列中也插入一個 NaN:

NR         age
------------------
910517196 | 30
921122192 | 29
NaN       | NaN

我怎樣才能在 Python Pandas 中做到這一點?

df['age']=np.where(df['NR'].notnull(),'your_calculation',np.nan)

暫無
暫無

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

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