📜  Python|熊猫 Series.to_dense()

📅  最后修改于: 2022-05-13 01:54:44.858000             🧑  作者: Mango

Python|熊猫 Series.to_dense()

Pandas 系列是带有轴标签的一维 ndarray。标签不必是唯一的,但必须是可散列的类型。该对象支持基于整数和基于标签的索引,并提供了许多用于执行涉及索引的操作的方法。

Pandas Series.to_dense()函数返回 NDFrame 的密集表示(相对于稀疏表示)。这基本上意味着将分配内存以存储数据帧中的缺失值。

示例 #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()函数来实现给定系列对象到密集系列对象的转换。

# 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)

输出 :

但是,在我们继续之前,让我们将给定的系列对象转换为 SparseSeries 对象,看看稀疏和密集版本之间的区别。

现在我们将使用Series.to_sparse()函数来实现给定 Series 对象到 SparseSeries 对象的转换。

# convert to Sparse object
sr.to_sparse()

输出 :

正如我们在输出中看到的那样, Series.to_sparse()函数已成功地将给定的系列对象转换为 sparseseries 对象。如果我们查看底部两行,它返回了有关内存块位置和这些块中包含的值的数量的信息。

现在我们将使用Series.to_dense()函数来实现给定系列对象到密集系列对象的转换。

# convert to dense object
sr.to_dense()

输出 :

正如我们在输出中看到的, Series.to_dense()函数返回了给定系列对象的密集表示。它已分配内存以存储系列中的缺失值。当大量数据丢失时,密集表示的内存效率不高。