8、数据分析入门与数据子集选择

数据分析入门与数据子集选择

1. 数据类型与内存使用

在数据分析中,不同的数据类型对内存的使用有显著影响。为了更好地理解对象数据类型列与整数和浮点数列的差异,可以修改这些列中的单个值,并显示由此产生的内存使用情况。

例如, CURROPER 列是 int64 类型, INSTNM 列是 object 类型:

college.loc[0, 'CURROPER'] = 10000000
college.loc[0, 'INSTNM'] = college.loc[0, 'INSTNM'] + 'a'
print(college[['CURROPER', 'INSTNM']].memory_usage(deep=True))

结果显示, CURROPER 的内存使用保持不变,因为 64 位整数足以容纳更大的数字。而 INSTNM 的内存使用仅通过在一个值上添加一个字母就增加了 105 字节。这是因为 Python 3 使用 Unicode 编码,每个字符最多使用 4 字节,并且 pandas 在首次修改字符值时似乎有一些开销(100 字节),之后每个字符增加 5 字节。

并非所有列都可以强制转换为所需的类型。比如 MENONLY 列,从数据字典来看它似乎只包含 0/1 值,但导入时实际数据类型却是 float64 。这是因为存在缺失

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值