0

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 笔记本服务器将暂时停止向客户端发送输出以避免崩溃。要更改此限制,请设置配置变量--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函数在 Jupyter Notebook中显示其操作的结果,我猜这是问题所在。

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

1 回答 1

0

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

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

new_df.sample(50)

或者

new_df.head(50)
于 2018-01-18T08:34:54.787 回答