我有一个列非常稀疏的Pandas数据框。我想迭代数据框的值,但不包括丢失的值,以节省时间。
我找不到如何访问非空单元格的索引。
例如:
a = pd.Series([2, 3, 0, 0, 4], dtype='Sparse[int]')
print(a.sparse.sp_values) # --> [2,3,4]
print(a.sparse.sp_index) # --> AttributeError
print(a.sparse.to_coo()) # --> ValueError
我得到了非空值,但是索引在哪里?在上面的例子中,我正在寻找[0,1,4]
。
我查看了documentation,它似乎没有提到它。我只找到了SparseArray的信息,但没有稀疏类型的Series/DataFrame的信息。
正在打印dir(a.sparse)
(不包括以"_"开头的字符):
['density', 'fill_value', 'from_coo', 'npoints', 'sp_values', 'to_coo', 'to_dense']
1条答案
按热度按时间lqfhib0f1#
IIUC,使用numpy中的
flatnonzero
:或者
loc
来自具有 * 布尔索引 * 的pandas: