推广

Pandas数据的分组统计

iseeyu2年前 (2024-02-21)推广117

image.png

2、多个列groupby,查询所有数据列的统计
b = df.groupby(["A","B"]).mean()
print(b)

此时A和B是索引

a = df.groupby(["A","B"],as_index = False).sum()
print(a)

此时A和B不是索引

3、同时查看多种数据统计
c = df.groupby("A").agg([np.sum,np.mean,np.std])
print(c)

列变成了多级索引

4、查看单列的结果数据统计
#性能好
d = df.groupby("A")["C"].agg([np.sum, np.mean, np.std])
print(d)

image.png

5、不同列使用不同的聚合函数
d = df.groupby("A").agg({"C":np.sum,"D":np.mean})
print(d)

image.png

二、遍历groupby的结果理解执行流程
1、便利分组数据,查看运行逻辑
g = df.groupby("A")
for name,group in g:
    print(name)
    print(group)

image.png

2、获取单个分组的数据
#参数为对应的分组名
h = g.get_group("bar")
print(h)

image.png

3、遍历多个列组合的分组
g = df.groupby(["A","B"])
for name,group in g:
    print(name)
    print(group)

name是一个2个元素组成的tuple,代表不同的列

4、获取多个列组合分组的某一组
h = g.get_group(('bar', 'one'))
print(h)

image.png

5、直接查询gropu后的某列,生成Series或者子Dataframe
e = g["C"]
print(e)
for name,group in g["C"]:
    print(name)
    print(group)

image.png

三、实例分组探索天气数据
1、数据准备
import pandas as pd

df = pd.read_csv("/Users/hathaway/PycharmProjects/untitled/MzTest/beijing_tianqi_2018.csv")

# df.set_index("ymd",inplace=True)
df.loc[:,"bWendu"] =df["bWendu"].str.replace("℃","").astype("int32")
df.loc[:,"yWendu"] =df["yWendu"].str.replace("℃","").astype("int32")
# print(df.head())
df["month"] = df["ymd"].str[:7]
print(df.head())

image.png

2、查看每个月的最高温度
data = df.groupby('month')['bWendu'].max()
print(data)

image.png

3、画图展示
import pandas as pd
import matplotlib.pyplot as plt  #画图需要的包
import numpy as np


df = pd.read_csv("/Users/hathaway/PycharmProjects/untitled/MzTest/beijing_tianqi_2018.csv")

# df.set_index("ymd",inplace=True)
df.loc[:,"bWendu"] =df["bWendu"].str.replace("℃","").astype("int32")
df.loc[:,"yWendu"] =df["yWendu"].str.replace("℃","").astype("int32")
# print(df.head())
df["month"] = df["ymd"].str[:7]
# print(df.head())
data = df.groupby('month')['bWendu'].max()
data.plot()  #画图的方法
plt.show()  #pycharm需要添加这个方法就可以展示

image.png

4、查看每个月最高温度,最低温度,平均空气质量指数
group_data = df.groupby("month").agg({"bWendu":np.max,"yWendu":np.min,"aqi":np.mean})
print(group_data)
group_data.plot()
plt.show()

image.png

画图

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/57495.html

相关文章

为何多数人喜欢选择用香港服务器。

为何多数人喜欢选择用香港服务器。

【594 站长】为何多数人喜欢选择用香港服务器? 存案对付做网站的 seo、站长等人来说是一件贫困的工作,可是有又想让本身的网站放到租用的处事器上就能举办正常的会见。选择现香港的免存案处事器就是当下的不二之选了。那么,香港处事器到底有什么上风呢? 香港处事器上风一、可以免存案 按摄影关划定,行...

房地产项目运营知识框架-中篇

房地产项目运营知识框架-中篇

房地产运营框架-中篇PDF文件请点击主页查看 房地产项目计划管理 项目运营会议决策管理 计划管理决定项目运营的效率关键节点:运营视角保障企业经营目标的达成主项计划:管控视角实现纵向、横向的业务协同专项计划:聚焦落地,实现工作执行...

小编教你网页如何设计更利于网站优化。

小编教你网页如何设计更利于网站优化。

网站是由一个一个所组成的,网站的推广效果好不好离不开每个网页的设计。如果掌握了搜索引擎的收录规律、排名算法,在这样情况下设计出来的网页更容易受到搜索引擎的青睐,由这样设计出来的网页所组成的网站当然就优化推广了。下面就为大家简单的介绍网页如何设计更利于网站优化。...

Flutter–Drawer、DrawerHeader和UserAccountsDrawerHeader组件

Flutter–Drawer、DrawerHeader和UserAccountsDrawerHeader组件

1111.png 五、DrawerHeader的源码 const DrawerHeader({ Key key, this.decoration,//header区域的背景 this.margin = const EdgeInsets.only(bottom:...

企业在建站之前请做好以下三个准备工作。

企业在建站之前请做好以下三个准备工作。

当下,企业进行营销型网站建设已经成为了一项必不可少的工作,特别是对于中小企业而言,都希望能够通过互联网更好的宣传推广企业形象,营销企业产品,使企业能够获得更好的发展。当然,想要实现如此宏伟的目标,那么营销型网站自然也就不可马虎为之,对于前期的准备工作,就更需要引起格外的注意了。有鉴于此,网站建设SE...

卖家必看!6大需要进行个性化处理的营销渠道

卖家必看!6大需要进行个性化处理的营销渠道

图片来源/ 123rf.com.cn 如果你当前或潜在客户在许多不同与你互动,那么你通过一个渠道进行产品是远远不够的。美国研究公司Forrester预测,到2021年左右,40%的店内销售将受到互联网的影响。即使是金融服务方面,47%的银行客户在过去90天内都至少进行了...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片