pandas
库中的df.info()
方法是一个非常有用的工具,用于快速查看DataFrame的概览信息。参数不多,也基本不需要修改,但它提供的信息对于数据分析和预处理阶段非常有帮助。
基本用法
df.info()
参数
-
verbose (bool, 默认为True,
一般不需要修改
):- 当设置为
True
时,输出详细的DataFrame信息,包括每列的非空值数量、数据类型等。 - 当设置为
False
时,输出被简化,只显示内存使用情况、列数和行数。
- 当设置为
-
buf (writable buffer-like object, 可选,
一般用不到
):- 如果提供,输出将被写入这个对象而不是打印到标准输出。这对于捕获输出到字符串或文件中很有用。
- 例如,可以使用
StringIO
对象来捕获输出:from io import StringIO import pandas as pd# 创建一个示例DataFrame data = {'A': [1, 2, 3], 'B': [4, 5, 6]} df = pd.DataFrame(data)# 创建一个StringIO对象 output = StringIO()# 将info()的输出写入StringIO对象 df.info(buf=output)# 获取输出内容 info_content = output.getvalue() print(info_content)
-
max_cols (int, 可选):
- 指定要显示的列的最大数量。如果DataFrame的列数超过这个值,则只显示前
max_cols
列的信息,其余列的信息将被省略,并在输出中注明。 - 默认为None,表示显示所有列的信息。
- 指定要显示的列的最大数量。如果DataFrame的列数超过这个值,则只显示前
-
memory_usage (str or bool, 可选):
- 控制是否显示内存使用情况以及显示的详细程度。
True
或'deep'
:显示DataFrame元素占用的内存(可能较慢,因为需要深入检查每个元素)。False
或'shallow'
:仅显示对象本身的内存占用(不包括元素)。- 默认为
'deep'
。
- 控制是否显示内存使用情况以及显示的详细程度。
-
null_counts (bool, 默认为True,
一般不需要修改
):- 当设置为
True
时,显示每列的非空值数量。 - 当设置为
False
时,不显示每列的非空值数量。
- 当设置为
输出内容
df.info()
的输出通常包括:
- DataFrame的形状(行数,列数)
- 每列的非空值数量(如果
null_counts=True
) - 每列的数据类型
- 内存使用情况
示例
import pandas as pd# 创建一个示例DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)# 使用df.info()查看DataFrame信息
df.info()
输出示例:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):# Column Non-Null Count Dtype
--- ------ -------------- ----- 0 Name 3 non-null object1 Age 3 non-null int64 2 City 3 non-null object
dtypes: int64(1), object(2)
memory usage: 200.0+ bytes
总结
df.info()
方法是一个快速了解DataFrame结构和内容的好工具。尽管它的参数不多,但通过这些参数可以灵活地调整输出信息的详细程度,以满足不同的需求。