我有一个带有nans的数据帧:
>>>df.head()
Out[1]:
JPM US SMALLER COMPANIES C ACC
1990-01-02 NaN
1990-01-03 NaN
1990-01-04 NaN
1990-01-05 NaN
1990-01-08 NaN
Run Code Online (Sandbox Code Playgroud)
我有另一个数据框,其中包含值:
>>>t.head()
Out[1]:
1990-01-02 51.95
1990-01-03 52.63
1990-01-04 53.04
1990-01-05 52.07
1990-01-08 51.73
Name: JPM US SMALLER COMPANIES C ACC, dtype: float64
Run Code Online (Sandbox Code Playgroud)
不幸的是,df.fillna似乎不适合我:
>>>df.fillna( t ).head()
Out[1]:
JPM US SMALLER COMPANIES C ACC
1990-01-02 NaN
1990-01-03 NaN
1990-01-04 NaN
1990-01-05 NaN
1990-01-08 NaN
[5 rows x 1 columns]
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我在熊猫0.13.1上
zin*_*ing 37
你需要 inplace
df[1].fillna(0, inplace=True)
Run Code Online (Sandbox Code Playgroud)
或者:
df = df.replace(np.nan, 0)#或您认为合适的任何其他值
当我在 Na 操作之后应用某些 str.replace() 操作时, df.replace(np.nan, 0) 或 df.fillna(0) 让我感到厌烦。所以请注意你的命令顺序 -> 第一个 str .replace() 比 fillna()
| 归档时间: |
|
| 查看次数: |
25869 次 |
| 最近记录: |