다음과 같은 테이블이있는 경우 :
df = pd.DataFrame({
'hID': [101, 102, 103, 101, 102, 104, 105, 101],
'dID': [10, 11, 12, 10, 11, 10, 12, 10],
'uID': ['James', 'Henry', 'Abe', 'James', 'Henry', 'Brian', 'Claude', 'James'],
'mID': ['A', 'B', 'A', 'B', 'A', 'A', 'A', 'C']
})
내가 할 수있는 count(distinct hID)
유일한 HID 5의 수를 가지고 올 클릭 테크에서. pandas 데이터 프레임을 사용하여 파이썬에서 어떻게 수행합니까? 아니면 numpy 배열일까요? 마찬가지로 그렇게한다면 count(hID)
Qlik에서 8을 얻습니다. 팬더에서 동일한 작업을 수행하는 방법은 무엇입니까?
답변
고유 값을 세고 nunique
다음을 사용하십시오 .
df['hID'].nunique()
5
null이 아닌 값만 계산하고 다음을 사용합니다 count
.
df['hID'].count()
8
null 값을 포함한 총 값을 계산하려면 다음 size
속성을 사용 합니다.
df['hID'].size
8
조건을 추가하려면 수정
부울 인덱싱 사용 :
df.loc[df['mID']=='A','hID'].agg(['nunique','count','size'])
또는 사용 query
:
df.query('mID == "A"')['hID'].agg(['nunique','count','size'])
산출:
nunique 5
count 5
size 5
Name: hID, dtype: int64
답변
데이터가 데이터 프레임의 이름이라고 가정하면 다음을 수행 할 수 있습니다.
data['race'].value_counts()
이렇게하면 고유 한 요소와 발생 횟수가 표시됩니다.
답변
또는 각 열의 고유 값 수를 가져옵니다.
df.nunique()
dID 3
hID 5
mID 3
uID 5
dtype: int64
새로운 pandas 0.20.0
pd.DataFrame.agg
df.agg(['count', 'size', 'nunique'])
dID hID mID uID
count 8 8 8 8
size 8 8 8 8
nunique 3 5 3 5
당신은 항상 할 수있었습니다 agg
내 groupby
. stack
프레젠테이션이 더 마음에 들어서 마지막에 사용 했습니다.
df.groupby('mID').agg(['count', 'size', 'nunique']).stack()
dID hID uID
mID
A count 5 5 5
size 5 5 5
nunique 3 5 5
B count 2 2 2
size 2 2 2
nunique 2 2 2
C count 1 1 1
size 1 1 1
nunique 1 1 1
답변
nunique
pandas에서 사용할 수 있습니다 .
df.hID.nunique()
# 5
답변
열의 고유 값 (예 : hID
dataframe df
)을 계산하려면 다음을 사용하십시오.
len(df.hID.unique())
답변
len 함수를 사용하여 고유 한 속성을 사용할 수 있습니다.
len (df [ ‘hID’]. unique ()) 5