当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas DataFrame info方法用法及代码示例


Pandas 的 DataFrame.info(~) 方法输出 DataFrame 的简要摘要,其中包括数据类型和内存消耗等信息。

参数

1.verbose | boolean | optional

是否输出详细摘要。默认值取决于您的机器。

2. buf | writable buffer | optional

输出的位置。默认情况下,buf=sys.stdout(标准输出)。

3. max_cols | int | optional

要输出的最大列数。如果源 DataFrame 中的列数超过此值,则某些列将被截断。默认值取决于您的机器。

4. memory_usage | stringboolean | optional

是否显示每列的内存使用情况:

说明

True

显示内存使用情况。对于包含对象类型(例如字符串)的DataFrames,内存使用情况将不准确。这是因为该方法对对象类型消耗的内存进行粗略估计。

False

不显示内存使用情况。

"deep"

执行一些繁重的工作来计算对象类型的实际内存使用情况,并显示内存使用情况。

默认值取决于您的机器。

5. null_counts | boolean | optional

是否显示每列中非空值的数量。同样,默认值取决于您的机器。

返回值

没有返回任何内容,因为我们在这里所做的只是打印 DataFrame 的摘要。

例子

考虑以下 DataFrame :

df = pd.DataFrame({"A":[3,4],"B":[5.0,6.0],"C":[True,False],"D":["K","KK"]})
df



   A  B    C      D
0  3  5.0  True   K
1  4  6.0  False  KK

基本用法

不带任何参数调用info()

df.info()



<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 4 columns):
A    2 non-null int64
B    2 non-null float64
C    2 non-null bool
D    2 non-null object
dtypes: bool(1), float64(1), int64(1), object(1)
memory usage: 178.0+ bytes

在这里,我的机器有以下默认选项:

  • verbose=True

  • memory_usage=True

  • null_counts=True

设置 verbose=False

如果您不需要每列的信息,请像这样设置verbose=False

df.info(verbose=False)



<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Columns: 4 entries, A to D
dtypes: bool(1), float64(1), int64(1), object(1)
memory usage: 178.0+ bytes

写入外部文件

我们可以使用 buf 参数将输出写入外部文件,而不是在屏幕上显示输出。

import io
buffer = io.StringIO()
df.info(buf=buffer)
str_summary = buffer.getvalue()
with open("df_summary.txt", "w") as file:  
   file.write(str_summary)

这将在与 Python 脚本相同的目录中创建一个名为 "df_summary.txt" 的文件。该文件的内容与您在屏幕上看到的内容相同。

设置memory_usage=深

由于我们的 DataFrame 包含一列数据类型对象(列 D ),因此 memory_usage=True 返回的值将为 off:

df.info()



<class 'pandas.core.frame.DataFrame'>
...
memory usage: 178.0+ bytes

要更准确地表示 DataFrame 消耗的内存,请设置 memory_usage="deep"

df.info(memory_usage="deep")



<class 'pandas.core.frame.DataFrame'>
...
memory usage: 287.0 bytes

我们看到DataFrame 占用了287 字节,因此我们相差了近100 字节。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Pandas DataFrame | info method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。