python中info的用法_Python pandas.DataFrame.info函数方法的使用

DataFrame.info()方法提供DataFrame的摘要信息,包括列类型、非空值数量和内存使用情况。可以设置verbose参数获取详细信息,或者通过memory_usage参数进行深入的内存估算。示例展示了如何使用info()方法,并通过不同参数控制输出内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DataFrame.info(self, verbose=None, buf=None, max_cols=None, memory_usage=None, null_counts=None) [source]

打印DataFrame的简要摘要。

此方法显示有关DataFrame的信息,包括索引dtype和列dtype,非空值和内存使用情况。

参数:verbose : bool,可选

是否打印完整的摘要。默认情况下,

pandas.options.display.max_info_columns

遵循中的设置 。

buf : 可写缓冲区,默认为sys.stdout

将输出发送到哪里。默认情况下,

输出将打印到sys.stdout。如果需要进一步处理输出,

请传递可写缓冲区。

max_cols : int,可选

何时从详细输出切换到截断输出。

如果DataFrame的列数超过max_cols列,

则使用截断的输出。默认情况下,

使用中的设置 pandas.options.display.max_info_columns。

memory_usage : bool,str,可选

指定是否应显示DataFrame元素(包括索引)

的总内存使用情况。默认情况下,

这遵循pandas.options.display.memory_usage设置。

True始终显示内存使用情况。

False永远不会显示内存使用情况。

‘deep’ 的值等效于“真正的内省”。

内存使用情况以可读单位(以2为基数的表示形式)

显示。无需深入自省,

就可以根据列dtype和行数进行内存估计,

假设值为相应的dtype消耗相同的内存量。

使用深度内存自省,

将以计算资源为代价执行实际内存使用量计算。

null_counts : 布尔值,可选

是否显示非空计数。默认情况下,

仅当框架小于 pandas.options.display.max_info_rows

和时显示 pandas.options.display.max_info_columns。

值为True始终显示计数,而值为False则不显示计数。

返回值:None

此方法打印DataFrame的摘要并返回None。

例子>>> int_values = [1, 2, 3, 4, 5]

>>> text_values = ['alpha', 'beta', 'gamma', 'delta', 'epsilon']

>>> float_values = [0.0, 0.25, 0.5, 0.75, 1.0]

>>> df = pd.DataFrame({"int_col": int_values, "text_col": text_values,

... "float_col": float_values})

>>> df

int_col text_col float_col

0 1 alpha 0.00

1 2 beta 0.25

2 3 gamma 0.50

3 4 delta 0.75

4 5 epsilon 1.00

打印所有列的信息:>>> df.info(verbose=True)

RangeIndex: 5 entries, 0 to 4

Data columns (total 3 columns):

int_col 5 non-null int64

text_col 5 non-null object

float_col 5 non-null float64

dtypes: float64(1), int64(1), object(1)

memory usage: 248.0+ bytes

显示列数及其dtype的摘要,但不显示每列的信息:>>> df.info(verbose=False)

RangeIndex: 5 entries, 0 to 4

Columns: 3 entries, int_col to float_col

dtypes: float64(1), int64(1), object(1)

memory usage: 248.0+ bytes

将DataFrame.info的输出通过管道传递到缓冲区而不是sys.stdout,获取缓冲区内容并写入文本文件:>>> import io

>>> buffer = io.StringIO()

>>> df.info(buf=buffer)

>>> s = buffer.getvalue()

>>> with open("df_info.txt", "w",

... encoding="utf-8") as f: # doctest: +SKIP

... f.write(s)

260

该memory_usage参数允许深刻反省模式,为大DataFrames和微调内存优化特别有用:>>> random_strings_array = np.random.choice(['a', 'b', 'c'], 10 ** 6)

>>> df = pd.DataFrame({

... 'column_1': np.random.choice(['a', 'b', 'c'], 10 ** 6),

... 'column_2': np.random.choice(['a', 'b', 'c'], 10 ** 6),

... 'column_3': np.random.choice(['a', 'b', 'c'], 10 ** 6)

... })

>>> df.info()

RangeIndex: 1000000 entries, 0 to 999999

Data columns (total 3 columns):

column_1 1000000 non-null object

column_2 1000000 non-null object

column_3 1000000 non-null object

dtypes: object(3)

memory usage: 22.9+ MB>>> df.info(memory_usage='deep')

RangeIndex: 1000000 entries, 0 to 999999

Data columns (total 3 columns):

column_1 1000000 non-null object

column_2 1000000 non-null object

column_3 1000000 non-null object

dtypes: object(3)

memory usage: 188.8 MB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值