Python 如何从pandas.DataFrame.info()返回字符串
我想在Python 如何从pandas.DataFrame.info()返回字符串,python,pandas,Python,Pandas,我想在tkinter文本小部件上显示来自的输出,因此我需要一个字符串。但是pandas.DataFrame.info()返回NoneType是否还有其他方法可以更改 import pandas as pd import numpy as np data = np.random.rand(10).reshape(5,2) cols = 'a', 'b' df = pd.DataFrame(data, columns=cols) df_info = df.info() print(df_info)
tkinter
文本小部件上显示来自的输出,因此我需要一个字符串。但是pandas.DataFrame.info()
返回NoneType
是否还有其他方法可以更改
import pandas as pd
import numpy as np
data = np.random.rand(10).reshape(5,2)
cols = 'a', 'b'
df = pd.DataFrame(data, columns=cols)
df_info = df.info()
print(df_info)
type(df_info)
我想做一些类似的事情:
info_str = ""
df_info = df.info(buf=info_str)
是否可以让
pandas
从DataFrame.info()
返回字符串对象?在链接的文档中,有一个buf
参数:
buf:可写缓冲区,默认为sys.stdout
因此,一种选择是传递StringIO实例:
>>> import io
>>> buf = io.StringIO()
>>> df.info(buf=buf)
>>> s = buf.getvalue()
>>> type(s)
<class 'str'>
>>> print(s)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 2 columns):
a 5 non-null float64
b 5 non-null float64
dtypes: float64(2)
memory usage: 160.0 bytes
导入io
>>>buf=io.StringIO()
>>>测向信息(buf=buf)
>>>s=buf.getvalue()
>>>类型
>>>印刷品
范围索引:5个条目,0到4
数据列(共2列):
5非空浮点64
b 5非空浮点64
数据类型:float64(2)
内存使用:160.0字节
谢谢您的回答!我看到了
buf
参数,并试图给它一个空字符串进行写入,但没有成功。您知道在哪里可以找到可以传递给buf的有效对象列表吗?