我有一个包含NaN
值和浮点数的数据框
In: import pandas as pd
import numpy as np
df = pd.DataFrame([[1,np.nan],[np.nan,4]],columns=['col1','col2'],index= ['row1','row2'])
df
Out:
col1 col2
row1 1.0 NaN
row2 NaN 4.0
要提取行或列并填充NaN
值,我可以使用.fillna()
In: df.loc[:,'col1'].fillna(99.0)
Out:
row1 1.0
row2 99.0
Name: col1, dtype: float64
但.fillna()
不适用于单个值。所以我有这个:
In:
if np.isnan(df.loc['row2','col1']):
val = 99.0
else:
val = df.loc['row2','col1']
val
Out: 99.0
这有效,但与.fillna()
. 什么是pythonic方式?