pandas.Series.info#

Series.info(verbose=None, buf=None, max_cols=None, memory_usage=None, show_counts=True)[源代码]#

打印一个系列的简明摘要。

此方法打印有关Series的信息,包括索引dtype、非空值和内存使用情况。

1.4.0 新版功能.

参数
verbose布尔值,可选

是否打印完整摘要。默认情况下,中的设置 pandas.options.display.max_info_columns 紧随其后。

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

将输出发送到何处。默认情况下,输出被打印到sys.stdout。如果需要进一步处理输出,则传递一个可写缓冲区。

memory_usageBool、str、可选

指定是否应显示Series元素(包括索引)的总内存使用量。默认情况下,它遵循 pandas.options.display.memory_usage 设置。

True始终显示内存使用情况。FALSE从不显示内存使用情况。‘Deep’的值等同于“True With深度内省”。内存使用以人类可读单位表示(以2为基数表示)。在没有深入自省的情况下,基于列数据类型和行数进行内存估计,假设对于相应的数据类型,值消耗相同的内存量。使用深度内存自检时,实际内存使用量计算是以计算资源为代价的。请参阅 Frequently Asked Questions 了解更多详细信息。

show_counts布尔值,可选

是否显示非空计数。默认情况下,仅当DataFrame小于 pandas.options.display.max_info_rowspandas.options.display.max_info_columns 。值True始终显示计数,而值False从不显示计数。

退货

此方法打印序列的摘要,并返回None。

参见

Series.describe

生成系列的描述性统计数据。

Series.memory_usage

系列的内存使用率。

示例

>>> int_values = [1, 2, 3, 4, 5]
>>> text_values = ['alpha', 'beta', 'gamma', 'delta', 'epsilon']
>>> s = pd.Series(text_values, index=int_values)
>>> s.info()
<class 'pandas.core.series.Series'>
Int64Index: 5 entries, 1 to 5
Series name: None
Non-Null Count  Dtype
--------------  -----
5 non-null      object
dtypes: object(1)
memory usage: 80.0+ bytes

打印不包括有关其值的信息的摘要:

>>> s.info(verbose=False)
<class 'pandas.core.series.Series'>
Int64Index: 5 entries, 1 to 5
dtypes: object(1)
memory usage: 80.0+ bytes

通过管道将Series.info的输出发送到Buffer而不是sys.stdout,获取缓冲区内容并写入文本文件:

>>> import io
>>> buffer = io.StringIO()
>>> s.info(buf=buffer)
>>> s = buffer.getvalue()
>>> with open("df_info.txt", "w",
...           encoding="utf-8") as f:  
...     f.write(s)
260

这个 memory_usage 参数支持深度自省模式,特别适用于大系列和微调内存优化:

>>> random_strings_array = np.random.choice(['a', 'b', 'c'], 10 ** 6)
>>> s = pd.Series(np.random.choice(['a', 'b', 'c'], 10 ** 6))
>>> s.info()
<class 'pandas.core.series.Series'>
RangeIndex: 1000000 entries, 0 to 999999
Series name: None
Non-Null Count    Dtype
--------------    -----
1000000 non-null  object
dtypes: object(1)
memory usage: 7.6+ MB
>>> s.info(memory_usage='deep')
<class 'pandas.core.series.Series'>
RangeIndex: 1000000 entries, 0 to 999999
Series name: None
Non-Null Count    Dtype
--------------    -----
1000000 non-null  object
dtypes: object(1)
memory usage: 55.3 MB