调用DataFrame.info()时Spyder与Pandas异常行为的排查求助
关于Pandas中df.info()返回None的问题解决
这不是异常,是df.info()的设计特性——该方法的核心作用是直接在控制台打印DataFrame的元信息,默认不会返回任何有效数据,因此执行dfi = df.info()后,dfi被赋值为None是完全正常的。
如果需要把df.info()的内容保存到变量中而非仅打印,可以通过传入buf参数指定输出缓冲区来实现,示例代码如下:
import pandas as pd import numpy.random as npr from io import StringIO npr.seed(0) df = pd.DataFrame(npr.randint(1, 10, size=(3,4))) # 创建字符串缓冲区 output_buffer = StringIO() # 将info内容写入缓冲区 df.info(buf=output_buffer) # 从缓冲区读取内容到变量 dfi = output_buffer.getvalue() # 关闭缓冲区 output_buffer.close() # 查看保存的内容 print(dfi)
重装Pandas和Spyder无法解决此问题,因为这并非软件故障,而是df.info()方法的默认行为:当不指定buf参数时,它会将输出定向到控制台,同时返回None。
内容的提问来源于stack exchange,提问作者mins
相关产品推荐
相关产品推荐

