Pandas 플롯 값은 내림차순으로 계산됩니다.

Salman Mehmood 2023년6월21일
Pandas 플롯 값은 내림차순으로 계산됩니다.

이 기사의 주요 목표는 Python의 Matplotlib를 사용하여 내림차순으로 그래프의 값을 그리는 방법을 보여주는 것입니다.

Pandas의 플롯 값 카운트

문제

필요와 상황에 따라 Dataframe을 사용하여 주어진 시간에 많은 양의 데이터를 저장하고 액세스할 수 있습니다. 사용자 정의 사용을 위해 여러 데이터 유형을 하나의 정렬된 데이터 구조에 저장할 수 있는 유연성을 제공합니다.

Dataframe이 데이터를 저장하는 동안 데이터를 시각화해야 하는 경우도 있습니다. Matplotlib을 사용하면 데이터 시각화가 매우 쉽습니다.

시나리오에 따라 데이터를 내림차순으로 시각화해야 할 수도 있습니다.

다음 코드를 고려하십시오.

import pandas as pd
import matplotlib.pyplot as plt


keyItems = ("a", "a", "a", "a", "a", "b", "b", "b", "b", "b", "c", "c", "c", "d")
idData = ("X", "X", "X", "X", "X", "X", "X", "X", "Y", "X", "X", "X", "X", "X")

df = pd.DataFrame({"keys": keyItems, "ids": idData})
print("\nDataframe:\n" + str(df))
print("\nValue Counts:\n" + str(df.value_counts()))

df.value_counts().plot(kind="barh")

plt.show()

출력:

Dataframe:
   keys ids
0     a   X
1     a   X
2     a   X
3     a   X
4     a   X
5     b   X
6     b   X
7     b   X
8     b   Y
9     b   X
10    c   X
11    c   X
12    c   X
13    d   X

Value Counts:
keys  ids
a     X      5
b     X      4
c     X      3
b     Y      1
d     X      1
dtype: int64

줄거리:

문제 플롯

위에서 언급한 코드에서 keys와 해당 id가 별도로 선언되었음을 알 수 있습니다. 모든 키는 keyItems라는 변수에 저장되고 해당 ID는 idData라는 변수에 저장됩니다. .

Dataframe을 인스턴스화한 후 value_counts 메소드를 사용하여 특정 값이 얼마나 자주 발생했는지 확인합니다. 그런 다음 matplotlib.plot의 일부인 show 메서드를 사용하여 그래프를 플롯하고 화면에 표시합니다.

플롯에서 그래프가 오름차순으로 플롯되는 것을 볼 수 있습니다. 프로젝트 또는 일부 다른 시나리오의 요구 사항에 따라 출력 그래프에 표시되는 오름차순 대신 내림차순으로 그래프를 그려야 할 가능성이 있습니다.

해결책

그래프를 그리기 전에 sort_values()를 추가하면 값을 내림차순으로 정렬할 수 있으므로 가장 큰 값이 맨 위에 표시되고 가장 작은 값이 출력 맨 아래에 표시됩니다.

다음 코드를 고려하십시오.

df.value_counts().sort_values().plot(kind="barh")

다음 코드는 value_counts()에 대한 sort_values()의 효과를 보여줍니다.

print("\nValue Counts:\n" + str(df.value_counts()))
print("\nValue Counts - Sorted:\n" + str(df.value_counts().sort_values()))

전체 코드:

import pandas as pd
import matplotlib.pyplot as plt

keyItems = ("a", "a", "a", "a", "a", "b", "b", "b", "b", "b", "c", "c", "c", "d")
idData = ("X", "X", "X", "X", "X", "X", "X", "X", "Y", "X", "X", "X", "X", "X")

df = pd.DataFrame({"keys": keyItems, "ids": idData})
print("\nValue Counts:\n" + str(df.value_counts()))
print("\nValue Counts - Sorted:\n" + str(df.value_counts().sort_values()))

df.value_counts().sort_values().plot(kind="barh")
plt.show()

출력:

Value Counts:
keys  ids
a     X      5
b     X      4
c     X      3
b     Y      1
d     X      1
dtype: int64

Value Counts - Sorted:
keys  ids
b     Y      1
d     X      1
c     X      3
b     X      4
a     X      5

줄거리:

문제 플롯

sort_values 메서드를 사용하여 values_count의 출력을 내림차순으로 정렬할 수 있습니다. 가장 큰 항목은 그래프 상단에 표시되고 가장 작은 항목은 출력 플롯 맨 아래에 표시됩니다.

필요한 경우 sort_index 방법을 사용하여 값 대신 인덱스로 values_count를 정렬할 수도 있습니다.

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

관련 문장 - Pandas Plot