source

Pandas value_counts()에서 값 추출

ittop 2023. 9. 14. 23:37
반응형

Pandas value_counts()에서 값 추출

우리가 판다를 사용했다고 치자.dataframe[column].value_counts()출력:

 apple   5 
 sausage 2
 banana  2
 cheese  1

위와 같은 순서로 max부터 min까지 값을 추출하는 방법은 무엇입니까?

예:[apple,sausage,banana,cheese]

시도해 보기:

dataframe[column].value_counts().index.tolist()
['apple', 'sausage', 'banana', 'cheese']
#!/usr/bin/env python

import pandas as pd

# Make example dataframe
df = pd.DataFrame([(1, 'Germany'),
                   (2, 'France'),
                   (3, 'Indonesia'),
                   (4, 'France'),
                   (5, 'France'),
                   (6, 'Germany'),
                   (7, 'UK'),
                   ],
                  columns=['groupid', 'country'],
                  index=['a', 'b', 'c', 'd', 'e', 'f', 'g'])

# What you're looking for
values = df['country'].value_counts().keys().tolist()
counts = df['country'].value_counts().tolist()

지금이다,print(df['country'].value_counts())다음을 제공:

France       3
Germany      2
UK           1
Indonesia    1

그리고.print(values)다음을 제공:

['France', 'Germany', 'UK', 'Indonesia']

그리고.print(counts)다음을 제공:

[3, 2, 1, 1]

댓글에 누락된 사람이 있다면 다음을 시도해 보십시오.

dataframe[column].value_counts().to_frame()

값을 추출하는 가장 좋은 방법은 다음을 수행하는 것입니다.

json.loads(dataframe[column].value_counts().to_json())

이것은 다른 dict와 같이 사용할 수 있는 사전을 반환합니다.값이나 키를 사용합니다.

 {"apple": 5, "sausage": 2, "banana": 2, "cheese": 1}

먼저 해야합니다.sortdataframe에 의해서count기둥.max로.min아직 그런 식으로 분류되지 않았다면요당신의 게시물에는 이미 순서가 맞지만 제가 할 것입니다.sort어쨌든:

dataframe.sort_index(by='count', ascending=[False])
    col     count
0   apple   5
1   sausage 2
2   banana  2
3   cheese  1 

그러면 출력할 수 있습니다.col목록에 열:

dataframe['col'].tolist()
['apple', 'sausage', 'banana', 'cheese']

언급URL : https://stackoverflow.com/questions/35523635/extract-values-in-pandas-value-counts

반응형