Python Pandas Series.to_dense()
Pandas系列是一个带有轴标签的一维ndarray。标签不需要是唯一的,但必须是一个可散列的类型。该对象支持基于整数和标签的索引,并提供了大量的方法来执行涉及索引的操作。
Pandas Series.to_dense()函数返回NDFrame的密集表示(而不是稀疏表示)。这基本上意味着内存将被分配来存储数据框架中的缺失值。
语法: Series.to_dense()
参数:无
返回:密集Series
例子#1:使用Series.to_dense()函数将给定的系列对象转换为密集系列对象。
# 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_dense()函数来实现将给定的Series对象转换为密集序列对象。
# convert to dense object
sr.to_dense()
输出 :
<
正如我们在输出中看到的,Series.to_dense()函数已经返回了给定系列对象的密集表示。如果我们注意到我们的系列对象没有任何缺失值,那么这两个输出看起来是一样的。让我们看看另一个包含一些缺失值的例子。
示例#2:使用Series.to_dense()函数将给定的系列对象转换为密集系列对象。
# 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对象。如果我们看最下面的两行,它已经返回了关于内存块位置和这些块中包含的值的数量的信息。
现在我们将使用Series.to_dense()函数来实现将给定的Series对象转换为密集序列对象。
# convert to dense object
sr.to_dense()
输出 :
正如我们在输出中看到的,Series.to_dense()函数已经返回了给定系列对象的密集表示。它已经分配了内存来存储系列中的缺失值。当大量数据缺失时,密集表示法的内存效率不高。