python - 如何聚合(总和、平均值等)在 Pandas 数据框索引中共享某个属性的值?
问题描述
<pandas.core.frame.DataFrame>
我有一个看起来像这样的 Pandas 数据框
Date Count1 Count2
2020-01-01 11 23
2020-02-01 13 24
2020-01-11 12 22
2020-04-01 43 13
...
如果我想获得 Jan 中出现的行的平均值或总和(或任何特定的布尔条件),我需要做什么?
解决方案
-
- 生成玩具熊猫 DataFrame
import numpy as np
import pandas as pd
from datetime import datetime
basedata = pd.DataFrame({'month':np.random.randint(low=1, high=4, size=10),
'day': np.random.randint(low=1, high=20, size=10)})
basedata['date'] = basedata.apply(lambda x: datetime(year=2020, month=x['month'], day=x['day']), axis=1)
basedata['count1'] = np.random.randint(low=10, high=30, size=10)
basedata['count2'] = np.random.randint(low=20, high=30, size=10)
basedata = basedata.drop(['month', 'day'], axis=1)
basedata
-
- 如果你想计算每个月的数据,你可以写这样的代码:
basedata.groupby(basedata['date'].dt.month).agg({'count1':['sum', 'count', 'mean'], 'count2':['sum', 'count']})
-
- 如果要按月过滤数据。见下面的代码:
basedata.loc[basedata['date'].dt.month ==1, :]
推荐阅读
- r - data.table SD 使用 NA 填充返回每个组所要求的尽可能多的行,而不是现有的尽可能多的行
- c# - 添加消费者而不将 MassTransit 添加到依赖注入容器
- python - 有什么方法可以让 Jupyter 笔记本脚本作为 (i)python 脚本工作?
- angular - RxJS - 管道可观察的重新运行过于频繁
- .htaccess - 301 重定向根目录而不将新根目录级联到所有其他 301 重定向
- ocaml - 当 let* _ = 时,let* 有更好的语法吗?
- react-native - expo 弹出后在项目上运行 react-native start 时出错
- python - 日期值与指定的格式不匹配 [YYYY-MM-DD] 复制时 Psycopg2 中的错误
- python - Python Dash - 结合两个回调函数
- html - 如何在Angular中的芯片旁边放置文本输入