Pandas入门详细教程(二)

本教程深入讲解pandas在数据统计分析中的应用,包括统计电影分类、数据合并的join与merge方法,以及如何进行分组和聚合操作。通过实例展示了如何统计国家和省份的星巴克数量,理解DataFrameGroupBy对象,以及如何使用matplotlib展示数据分布。同时,讨论了复杂索引操作和数据取值,并给出在星巴克数据上如何获取特定地区统计信息的示例。
摘要由CSDN通过智能技术生成


pandas基础内容可跳转之前文章
Pandas入门详细教程(一)

pandas常用统计方法

对于这一组电影数据,如果我们希望统计电影分类(genre)的情况,应该如何处理数据?

思路:重新构造一个全为0的数组,列名为分类,如果某一条数据中分类出现过,就让0变为1

# coding=utf-8
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
file_path = "./IMDB-Movie-Data.csv"

df = pd.read_csv(file_path)
print(df["Genre"].head(3))
# 统计分类的列表 tolist数组转换为列表
temp_list = df["Genre"].str.split(",").tolist()

# 使用set 启到去重的目的
genre_list = list(set([i for j in temp_list for i in j]))

# 构造全为0的数组 columns是每个分类
zeros_df = pd.DataFrame(np.zeros((df.shape[0],len(genre_list))),columns=genre_list)
#print(zeros_df)

# 给每个电影出现分类的位置赋值1
for i in range(df.shape[0]):
    zeros_df.loc[i,temp_list[i]] = 1

# print(zeros_df.head(3))

# 统计每个分类的电影的数量和
genre_count = zeros_df.sum(axis = 0)
print(genre_count)

# 排序
genre_count = genre_count.sort_values()
_x = genre_count.index
_y = genre_count.values

# 画图
plt.figure(figsize = (20, 8), dpi = 80)
plt.bar(range(len(_x)), _y, width = 0.4, color = "orange")
plt.xticks(range(len(_x)) ,_x)
plt.show()

在这里插入图片描述

打印结果为:

0     Action,Adventure,Sci-Fi
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值