fillna函数在数据帧中重新生成NaN,从而提高了IOPub数据速率

时间:2018-01-18 08:28:09

标签: python jupyter fillna

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数据速率       笔记本服务器将暂时停止向客户端发送输出以避免崩溃。要更改此限制,请设置配置变量--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),以便查看它是否有效,但确实如此,但是一旦我将{0}再次提出错误,就会再次提出错误。

df.iloc[0:1600,0:33]函数是displaying the results of it's action in the Jupyter Notebook我认为是问题。

  1. 有没有办法迫使Jupyter不显示fillna命令的结果?或者如果只需显示纯文本?
  2. 我导入了33列(0:33)但是我的fillna命令有0:33表示34个coluns或零元素是内部索引吗?
  3. 我的read_csv看起来有点长,我可以缩写列号,即0:33吗?

1 个答案:

答案 0 :(得分:0)

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

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

new_df.sample(50)

new_df.head(50)