数据分析入门与数据子集选择指南
1. 数据类型与内存使用
在数据分析中,了解不同数据类型的内存使用情况至关重要。我们可以通过修改 college 数据集中 CURROPER ( int64 类型)和 INSTNM ( object 类型)列的单个值,并查看内存使用的变化。
college.loc[0, 'CURROPER'] = 10000000
college.loc[0, 'INSTNM'] = college.loc[0, 'INSTNM'] + 'a'
college[['CURROPER', 'INSTNM']].memory_usage(deep=True)
结果显示, CURROPER 列的内存使用保持不变,因为 64 位整数足以存储更大的数字;而 INSTNM 列仅添加一个字母,内存使用就增加了 105 字节。这是因为 Python 3 使用 Unicode 编码,每个字符最多占用 4 字节,并且 pandas 在首次修改字符值时会有一些额外开销(约 100 字节),之后每个字符增加 5 字节。
并非所有列都能转换为所需的数据类型。例如, MENONLY 列在数据字典中似乎只包含 0/1 值,但导入时实际数据类型为 float64 ,原因是存在缺失值(用 np.nan 表
超级会员免费看
订阅专栏 解锁全文
1378

被折叠的 条评论
为什么被折叠?



