Python Pandas Series.to_sparse()
Pandas系列是一个带有轴标签的一维ndarray。标签不需要是唯一的,但必须是一个可散列的类型。该对象支持基于整数和标签的索引,并提供了大量的方法来执行涉及索引的操作。
Pandas Series.to_sparse()函数将给定的Series对象转换为SparseSeries。稀疏对象基本上是压缩的对象。如果我们的系列对象中的一些数据缺失,那么这些位置将被稀疏化。内存将不会被浪费在存储缺失的数值上。
语法: Series.to_sparse(kind=’block’, fill_value=None)
参数:
kind: {‘block’, ‘Integer’}
fill_value : float, 默认为NaN(缺失)。
返回: sp :SparseSeries
示例#1:使用Series.to_sparse()函数将给定的系列对象转换为SparseSeries对象。
# importing pandas as pd
import pandas as pd
# Creating the Series
sr = pd.Series(['New York', 'Chicago', 'Toronto', 'Lisbon', 'Rio', 'Moscow'])
# Create the Datetime Index
didx = pd.DatetimeIndex(start ='2014-08-01 10:00', freq ='W',
periods = 6, tz = 'Europe/Berlin')
# set the index
sr.index = didx
# Print the series
print(sr)
输出 :
现在我们将使用Series.to_sparse()函数来实现将给定的Series对象转换为SparseSeries对象。
# convert to Sparse object
sr.to_sparse()
输出 :
正如我们在输出中看到的,Series.to_sparse()函数已经成功地将给定的系列对象转换为sparseseries对象。
示例#2:使用Series.to_sparse()函数将给定的系列对象转换为SparseSeries对象。
# importing pandas as pd
import pandas as pd
# Creating the Series
sr = pd.Series([19.5, 16.8, None, 22.78, None, 20.124, None, 18.1002, None])
# Print the series
print(sr)
输出 :
现在我们将使用Series.to_sparse()函数来实现将给定的Series对象转换为SparseSeries对象。
# convert to Sparse object
sr.to_sparse()
输出 :
正如我们在输出中看到的,Series.to_sparse()函数已经成功地将给定的系列对象转换为sparseseries对象。如果我们看最下面的两行,它已经返回了关于内存块位置和这些块中包含的值的数量的信息。