pandas之字符串離散化

# coding=utf-8
from matplotlib import  pyplot as plt
import pandas as pd
import numpy as np

# 數據地址
file_path = "./IMDB-Movie-Data.csv"

# 獲取數據 ['', '', '']結構
df = pd.read_csv(file_path)

# 分割數據 [[],[],[]]結構
genre = df["Genre"].str.split(",").tolist()


# 1.合併數組
genre_list = list(set([i for j in genre for i in j]))

# 2.創建模型
zero_df = pd.DataFrame(np.zeros((df.shape[0], len(genre_list))), columns=genre_list)

# 3.賦值
for i in range(df.shape[0]):
    zero_df.loc[i, genre[i]] = 1

# 4.統計每一列的數據
genre_count = zero_df.sum(axis=0)

# 5.排序 默認是從小到大
genre_count = genre_count.sort_values()

# 6.設置圖片尺寸與精度
plt.figure(figsize=(20, 8), dpi=80)

# 7.設置條形圖
plt.bar(range(len(genre_count.index)), genre_count.values)

# 8.設置x軸數據
plt.xticks(range(len(genre_count.index)), genre_count.index)

# 9.設置網格
plt.grid(alpha=0.2)

# 展示圖形
plt.show()

數據:

 

發佈了106 篇原創文章 · 獲贊 8 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章