相当于pandas.Series.unique(),用于非哈希元素

2024-09-27 00:11:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道当pandas.Series.unique()包含不可散列元素(在我的例子中是list)时,是否有一个等价项

例如,与

>> ds
                   XTR
s0b0_VARC-0.200    [0.05, 0.05]
s0b0_VARC-0.100    [0.05, 0.05]
s0b0_VARC0.000     [0.05, 0.05]
s0b0_VARC0.100     [0.05, 0.05]
s0b1_VARC-0.200    [0.05, 0.05]
s0b1_VARC0.000     [0.05, 0.05]
s0b1_VARC0.100     [0.05, 0.05]
s0b2_VARC-0.200    [0.05, 0.05]
s0b2_VARC-0.100    [0.06, 0.025]
s0b2_VARC0.000     [0.05, 0.05]
s0b2_VARC0.100     [0.05, 0.05]

我想得到

>> ds.unique()
2

Tags: 元素pandasdslist例子seriesunique等价
1条回答
网友
1楼 · 发布于 2024-09-27 00:11:22

谢谢@Quang Hoang

this SO answer的启发,我编写了以下函数(不确定它有多健壮):

def count_unique_values(series):
    try:
        tuples = [tuple(x) for x in series.values]
        series = pd.Series(tuples)
        nb = len(series.unique())
        print(nb)
    except TypeError:
        nb = len(series.unique())
    return nb

相关问题 更多 >

    热门问题