首页 > 编程知识 正文

python中where的用法,numpy unique函数

时间:2023-05-06 01:17:06 阅读:107674 作者:2028

1 unique () )

统计list的不同值时,返回的是array。有三个参数,可以分别统计不同的量,返回的都是array。

如果list中的元素也是list,则尽量不要使用此方法。

import numpy as np

a=[ 1,5,4,2,3,3,5 ]

#返回一个阵列

print(NP.unique ) (a ) ) ) ) ) )。

# [1 2 3 4 5]

#返回此元素在list中首次出现的索引

print(NP.unique(a,return_index=True ) )

# (array ([ 1,2,3,4,5 ] ),array ([ 0,3,4,2,1 ] )

#返回原始list中每个元素在新list中的相应索引

print(NP.unique(a,return_inverse=True ) )

# (array ([ 1,2,3,4,5 ] ),array ([ 0,4,3,1,2,2,4 ] )

#返回此元素在list中出现的次数

print(NP.unique(a,return_counts=True ) )

# (array ([ 1,2,3,4,5 ] ),array ([ 1,1,2,1,2 ] )

添加#参数时,(unique ) )返回tuple。 这里利用了tuple的性质,即有多少元素可以代入对应的变量

p、q、m、n=NP.unique(a,return_index=True,return_inverse=True,return_counts=True ) ) ) )

打印(p,q,m,n ) )。

# [ 12345 ] [ 03421 ] [ 0431224 ] [ 112122 ]

请注意,如果#list中的元素是list而不是数字,则输出的数据类型取决于list中元素的长度

#采用这种方法,加重list中的元素或求出中元素的个数不是好方法,容易出错

如果合并series的不同值,则返回的是array,没有其他参数

import pandas as pd

se=PD.series ([ 1,3,4,5,2,2,3 ]

print(se.unique ) )

# [1 3 4 5 2]

2.nunique () )。

可以直接计数dataframe中每列具有不同值的数量,也可以将其用于series,但不能用于list。 返回的是不同值的个数。

df=PD.data frame ({ ' a ' : [ 0,1,1 ],' b ' : [ 0,5,6 ] } )

是打印(df )

print(df.nunique ) )

# A B

# 0 0 0

# 1 1 5

# 2 1 6

# A 2

# B 3

# dtype: int64

也可以与groupby组合使用,以便对每个块计数不同值的数量。

all _ user _ repay=all _ user _ repay.group by [ ' user _ id ' ] [ ' listing _ id ' ].agg [ ' n unique ' ].agg

# user_id nunique

# 0 40 1

# 1 56 1

# 2 98 1

# 3 103 1

# 4 122 1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。