【Python】进阶学习:pandas–info()用法详解
🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)
🌵文章目录🌵
- 📚 一、初识`info()`函数
- 💻 二、`info()`函数的基本用法
- 🔍 三、定制`info()`函数的输出
- 📚 四、总结
- 🤝 五、期待与你共同进步
📚 一、初识info()
函数
在pandas库中,info()
函数是一个DataFrame和Series对象的方法,用于获取有关数据结构的简要摘要。通过调用info()
函数,我们可以快速了解数据集中的基本信息,如行数、列数、列的数据类型、非空值的数量以及内存使用情况等。
💻 二、info()
函数的基本用法
info()
函数的基本用法非常简单,只需在DataFrame或Series对象上调用即可。
import pandas as pd
# 创建一个示例DataFrame
data = {
'A': [1, 2, 3, None],
'B': [4, None, 6, 8],
'C': ['p', 'q', 'r', 's']
}
df = pd.DataFrame(data)
# 调用info()函数
df.info()
上述代码将输出DataFrame的简要摘要,包括索引类型、列名、非空值的数量以及每列的数据类型:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null float64
1 B 3 non-null float64
2 C 4 non-null object
dtypes: float64(2), object(1)
memory usage: 224.0+ bytes
🔍 三、定制info()
函数的输出
info()
函数提供了一些可选参数,用于定制输出的内容。以下是 info()
函数的主要参数及其描述:
-
verbose(布尔值,默认为
True
):- 控制输出的详细程度。如果为
True
,则会显示每列的详细信息,包括非空值的数量。如果为False
,则只显示摘要信息。
- 控制输出的详细程度。如果为
-
buf(可写缓冲区,默认为
None
):- 指定一个可写缓冲区,如文件对象或 StringIO 对象,用于将输出写入。如果提供了这个参数,
info()
函数不会将输出直接打印到控制台,而是写入到指定的缓冲区。
- 指定一个可写缓冲区,如文件对象或 StringIO 对象,用于将输出写入。如果提供了这个参数,
-
memory_usage(布尔值或字符串,默认为
None
):- 控制是否显示内存使用情况。如果为
True
,则会显示每列占用的内存大小。如果为字符串,则可以指定内存使用的单位,如'deep'
表示深度内存使用。如果为None
,则不显示内存使用情况。
- 控制是否显示内存使用情况。如果为
-
show_counts(布尔值,默认为
None
):- 控制是否显示非空值的数量。如果为
True
,则会显示每列中非空值的数量。如果为False
,则不显示这个信息。当verbose
为False
时,这个参数将被忽略。
- 控制是否显示非空值的数量。如果为
示例代码:
import pandas as pd
# 创建一个示例DataFrame
data = {
'A': [1, 2, 3, None],
'B': [4, None, 6, 8],
'C': ['p', 'q', 'r', 's']
}
df = pd.DataFrame(data)
# 调用info()函数
# verbose = False
df.info(verbose=False)
print("*"*50)
print("*"*50)
# 指定一个[可写]缓冲区
with open("result.txt", "w") as f:
df.info(buf=f)
print("相关信息已写入result.txt!")
print("*"*50)
print("*"*50)
# memory_usage
df.info(memory_usage="deep")
print("*"*50)
df.info(memory_usage=True)
print("*"*50)
df.info(memory_usage=False)
print("\n" + "*"*50)
print("*"*50)
# show_counts
df.info(show_counts=True)
print("\n" + "*"*50)
df.info(show_counts=False)
输出:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Columns: 3 entries, A to C
dtypes: float64(2), object(1)
memory usage: 224.0+ bytes
**************************************************
**************************************************
相关信息已写入result.txt!
**************************************************
**************************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null float64
1 B 3 non-null float64
2 C 4 non-null object
dtypes: float64(2), object(1)
memory usage: 424.0 bytes
**************************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null float64
1 B 3 non-null float64
2 C 4 non-null object
dtypes: float64(2), object(1)
memory usage: 224.0+ bytes
**************************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null float64
1 B 3 non-null float64
2 C 4 non-null object
dtypes: float64(2), object(1)
**************************************************
**************************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null float64
1 B 3 non-null float64
2 C 4 non-null object
dtypes: float64(2), object(1)
memory usage: 224.0+ bytes
**************************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
# Column Dtype
--- ------ -----
0 A float64
1 B float64
2 C object
dtypes: float64(2), object(1)
memory usage: 224.0+ bytes
通过合理设置这些参数,用户可以根据具体需求定制 info()
函数的输出内容,从而更有效地理解和分析数据集。这些参数使得 info()
函数在数据探索、数据清洗和预处理等阶段都非常有用。
📚 四、总结
info()
函数是pandas库中一个非常实用的函数,它可以帮助我们快速了解数据集的基本信息。通过灵活运用info()
函数,我们可以更好地理解和处理数据,为后续的数据分析和建模提供有力支持。
🤝 五、期待与你共同进步
🌱 亲爱的读者,非常感谢你每一次的停留和阅读!你的支持是我们前行的最大动力!🙏
🌐 在这茫茫网海中,有你的关注,我们深感荣幸。你的每一次点赞👍、收藏🌟、评论💬和关注💖,都像是明灯一样照亮我们前行的道路,给予我们无比的鼓舞和力量。🌟
📚 我们会继续努力,为你呈现更多精彩和有深度的内容。同时,我们非常欢迎你在评论区留下你的宝贵意见和建议,让我们共同进步,共同成长!💬
💪 无论你在编程的道路上遇到什么困难,都希望你能坚持下去,因为每一次的挫折都是通往成功的必经之路。我们期待与你一起书写编程的精彩篇章! 🎉
🌈 最后,再次感谢你的厚爱与支持!愿你在编程的道路上越走越远,收获满满的成就和喜悦!祝你编程愉快!🎉