1

我有一个包含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方式?

4

1 回答 1

0
 df.fillna({'col1':99}, limit=1)

      col1  col2
row1   1.0   NaN
row2  99.0   4.0
于 2018-04-04T00:58:03.010 回答