python pandas教程pdf_Python Pandas - Sparse Data

本文介绍了Python Pandas中的Sparse Data特性,用于处理大量缺失值的情况。通过示例展示了如何创建和操作稀疏数据,包括转换为密集形式、计算密度以及理解稀疏数据类型的默认填充值。
摘要由CSDN通过智能技术生成

Python Pandas - Sparse Data

当任何匹配特定值的数据(NaN /缺失值,但可以选择任何值)被省略时,稀疏对象被“压缩”。 一个特殊的SparseIndex对象跟踪数据被“稀疏化”的位置。 这在一个例子中会更有意义。 所有标准的Pandas数据结构都应用to_sparse方法 -import pandas as pd

import numpy as np

ts = pd.Series(np.random.randn(10))

ts[2:-2] = np.nan

sts = ts.to_sparse()

print sts

其output如下 -0 -0.810497

1 -1.419954

2 NaN

3 NaN

4 NaN

5 NaN

6 NaN

7 NaN

8 0.439240

9 -1.095910

dtype: float64

BlockIndex

Block locations: array([0, 8], dtype=int32)

Block lengths: array([2, 2], dtype=int32)

出于内存效率的原因,存在稀疏对象。

现在让我们假设您有一个大的NA DataFrame并执行以下代码 -import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(10000, 4))

df.ix[:9998] = np.nan

sdf = df.to_sparse()

print sdf.density

其output如下 -0.0001

通过调用to_dense可以将任何稀疏对象转换回标准密集形式 -import pandas as pd

import numpy as np

ts = pd.Series(np.random.randn(10))

ts[2:-2] = np.nan

sts = ts.to_sparse()

print sts.to_dense()

其output如下 -0 -0.810497

1 -1.419954

2 NaN

3 NaN

4 NaN

5 NaN

6 NaN

7 NaN

8 0.439240

9 -1.095910

dtype: float64

稀疏Dtypes

稀疏数据应具有与其密集表示相同的dtype。 目前,支持float64, int64和booldtypes 。 根据原始dtype, fill_value default更改 -float64 - np.nan

int64 - 0

bool - 错

让我们执行以下代码来理解相同的 -import pandas as pd

import numpy as np

s = pd.Series([1, np.nan, np.nan])

print s

s.to_sparse()

print s

其output如下 -0 1.0

1 NaN

2 NaN

dtype: float64

0 1.0

1 NaN

2 NaN

dtype: float64

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值