fillna 函数在提高 IOPub 数据速率的数据帧中替换 NaN

fillna function to replce NaN in a dataframe raising IOPub data rate exceeded

Python 的新手,正在通过 Panda 导入和清理工作。

我的代码:

df = pd.read_csv('SFIC_RFQs.csv', sep='~', usecols=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29,30, 31,32])
df.isnull().sum().sum()               # Total Number of NaN = 14594
df.fillna(0) 

错误:

IOPub data rate exceeded The notebook server will temporarily stop sending output to the client in order to avoid crashing it. To change this limit, set the config variable --NotebookApp.iopub_data_rate_limit.

我从

改成了C:\Users\pelucas\.jupyter\ jupyter_notebook_config
#c.NotebookApp.iopub_data_rate_limit = 1000000

#c.NotebookApp.iopub_data_rate_limit = 100000000000

同样的错误

我将 fillna 命令修改为 df.iloc[0:1500,0:33].fillna(value=0,inplace=true) 以查看它是否有效,但当我达到 df.iloc[0:1600,0:33] 时,上述错误再次出现。

fillna 函数是 displaying the results of it's action in the Jupyter Notebook,我猜这是问题所在。

  1. 有没有办法强制 Jupyter 不显示 fillna 命令的结果?或者如果它必须只显示纯文本?
  2. 我导入了 33 列(0:33)但是我的 fillna 命令有 0:33 impying 34 列或者零元素是内部索引吗?
  3. 我的 read_csv 看起来有点长,我可以将列号缩写为 0:33 吗?

首先:如果你想使用 fillna 的输出,你应该将 inplace=True 添加到你的命令或将此行分配给另一个变量。如果您将它分配给另一个变量 (new_df = df.fillna(0)),您还将避免显示输出。

相反,您可以向块中添加另一行输出,以帮助您理解数据:

new_df.sample(50)

new_df.head(50)