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
를 정렬할 수도 있습니다.
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