数据分析-day04-pandas-dataFrame中group by分组与聚合

源数据:

分组后:

grouped = df.groupby(by="columns_name")

grouped是一个DataFrameGroupBy对象,是可迭代的

grouped中的每一个元素是一个元组 ,元组里面是(索引(分组的值),分组之后的DataFrame)

#!usr/bin/env python
#-*- coding:utf-8 _*-
'''
@author:Administrator
@file: pandas_dataframe_group_demo.py
@time: 2020-01-05 上午 9:27
'''
import pandas as pd;
import numpy as np
from matplotlib import pyplot as plt
df=pd.read_csv("../data/starbucks_store_worldwide.csv");
df=df.head(1000);
#以country分组,组成类似map的数据类型,key=国家名称,values=dataframe(关于key代表国家的所有信息)
grouped = df.groupby(by="Country");
print(grouped)
#遍历查看内容

for m,n in grouped:
    print(m)
    print("===")
    print(n)

#查看所有等于cA的数据
r=df[df["Country"]=="CA"];
#print(r)
#调用聚合方法
country_count = grouped["Brand"].count()
print(country_count)
print(country_count["AE"])
#统计中国每个省店铺的数量
china_data = df[df["Country"] =="CN"]
grouped = china_data.groupby(by="State/Province")["Brand"].count()
print(grouped)
#数据按照多个条件进行分组,返回Series
grouped = df["Brand"].groupby(by=[df["Country"],df["State/Province"]]).count()
print(grouped)
print(type(grouped))
#数据按照多个条件进行分组,返回DataFrame,df["Brand"]再嵌套一层[],变为df[["Brand"]]
grouped1 = df[["Brand"]].groupby(by=[df["Country"],df["State/Province"]]).count()
grouped2= df.groupby(by=[df["Country"],df["State/Province"]])[["Brand"]].count()
grouped3 = df.groupby(by=[df["Country"],df["State/Province"]]).count()[["Brand"]]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值