728x90
λ°μν
νλ‘κ·Έλλ° μΈκ³λ₯Ό νꡬν©μλ€.
1, 2νΈμ μ΄μ κ²μκΈ μ°Έκ³ λ°λλλ€.
2023.12.08 - [IT/Python] - [Python] 1. Daum λ€μ μν μ¬μ΄νΈ λ°μ΄ν° μμ§ μΉν¬λ‘€λ§
< Daum λ€μ μν μ¬μ΄νΈ λ°μ΄ν° μμ§ μΉν¬λ‘€λ§ (λ°μ΄ν° μ μ²λ¦¬ λ° μκ°ν) >
μμ§λ°μ΄ν°
μνμ λͺ©, νμ , λκΈ
μμ±ν λ°μ΄ν°
κΈμ /λΆμ
URL
< μν κ·Έλν 그리기 >
κΈμ , λΆμ , κΈ°νμ λν μν κ·Έλν μκ°ννκΈ°
### κΈμ , λΆμ , κΈ°νμ λν μν κ·Έλν μκ°ννκΈ°
# - λΉμ¨μ΄ κ°μ₯ λμ κ²½μ° : pinkμ, λλ²μ§Έ : goldμ, μΈλ²μ§Έ : whitesmokeμμΌλ‘ νν
# - subplot μ¬μ©
fig, axs = plt.subplots(5, 2, figsize=(15,25))
axs = axs.flatten()
## λΉλ λΉμ¨λ³ μμ μ μ
colors = ["pink", "gold", "whitesmoke"]
### λΌλ²¨ μ μ
labels_dict = {0 : "λΆμ (1~4μ )", 1 : "κΈμ (8~10μ )", 2: "κΈ°ν(5~7μ )"}
### νμ νκ· μ λν μν κ·Έλν 그리기
for title, ax in zip(avg_score.keys(), axs) :
### μνλ³ κ±΄μ νν°λ§νκΈ°
num_reviews = len(df_new[df_new["title"]==title])
# print(f"num_reviews = {num_reviews}")
### label 컬λΌμ λ²μ£Όλ³λ‘ κ°―μ νν°λ§νκΈ°
values = df_new[df_new["title"]==title]["label"].value_counts()
# print(f"values = {values
### μν κ·Έλνμ νμν λΌλ²¨κ° μ μνκΈ°
# - μνλ³λ‘ κΈμ λλ λΆμ λλ κΈ°ν μ€μ νλλΌλ μμΌλ©΄ μ²λ¦¬κ° νμν¨
label_list = df_new[df_new["title"]==title]["label"].unique()
labels = []
for k in label_list :
### μνλ³ μ€μ μ‘΄μ¬νλ κΈμ /λΆμ /κΈ°ν λΌλ²¨ μ μνκΈ°
labels.append(labels_dict[k])
### κ° κ·Έλν μ λͺ© λ£κΈ°
ax.set_title(f"{title} ({num_reviews}λͺ
)", fontsize=15)
### μν(pie) κ·Έλν 그리기
ax.pie(values,
# μνκ·Έλνμ νμν λΌλ²¨ μ§μ
labels = labels,
# μν κ·Έλνμ νμν κ°μ μμ«μ μ리μ μ§μ
autopct = "%1.1f%%",
# μν κ·Έλν κ° μμμ μμ μ§μ
colors=colors,
# κ·Έλ¦Όμ ν¨κ³Ό μ§μ νκΈ°
shadow=True,
# κ·Έλνμ μμμμΉλ₯Ό 12μ λ°©ν₯μΌλ‘
startangle=90)
### μ΄λ―Έμ§ μ μ₯νκΈ°
plt.savefig("./img/κΈμ _λΆμ _μνκ·Έλν_μκ°ν.png")
plt.show()
μ΅μ’ μ μ²λ¦¬λ λ°μ΄ν°λ νμΌλ‘ κ΄λ¦¬νκΈ°
### μ΅μ’
μ μ²λ¦¬λ λ°μ΄ν°λ νμΌλ‘ κ΄λ¦¬νκΈ°
# - νμΌλͺ
df_new.csv, μΈλ±μ€λ ν¬ν¨νμ§ μκΈ°
# - μ μ₯ μμΉ : data ν΄λ
df_new.to_csv("./data/df_new.csv" , index=False)
728x90
λ°μν