我想pandas.DataFrame.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)
Run Code Online (Sandbox Code Playgroud)
我想做点什么:
info_str = ""
df_info = df.info(buf=info_str)
Run Code Online (Sandbox Code Playgroud)
是否可以从中pandas
返回一个字符串对象DataFrame.info()
?
DSM*_*DSM 15
在您链接的文档中,有一个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
Run Code Online (Sandbox Code Playgroud)