pandas - 如何将外部时间序列数据分组在一起
问题描述
我一直在尝试将一些状态数据分组在一起。例如,这就是我的数据的样子,以 Date 作为索引,其余的是特征:
日期 | 人口 | Num_Men | Num_Women | 状态 | 地区 |
---|---|---|---|---|---|
2020-01-01 | 500 | 300 | 200 | 纽约 | 北 |
2020-02-01 | 800 | 500 | 300 | 总帐 | 中间 |
2020-02-01 | 1000 | 400 | 600 | “” | 中间 |
2020-02-01 | 200 | 50 | 150 | 楠 | 中间 |
2020-02-01 | 600 | 400 | 200 | 纽约 | 北 |
我知道如何将纽约州的州分组,但如果我想将具有州值的那些分组:GL、“”和 nan 一起。我不知道该怎么做。
我一直在寻找最终结果,如下所示:
日期 | 人口 | Num_Men | Num_Women | 状态 | 地区 |
---|---|---|---|---|---|
2020-01-01 | 500 | 300 | 200 | 纽约 | 北 |
2020-02-01 | 2000 | 950 | 1050 | 总帐 | 中间 |
2020-02-01 | 600 | 400 | 200 | 纽约 | 北 |
我做了这样的事情:df.groupby(df.index,{'State':[“GL”,“”,np.nan]},但这不起作用。任何帮助将不胜感激!谢谢!
解决方案
replace
那么让我们groupby
用sum
和first
df.State = df.State.replace({"''":np.nan,'nan':np.nan})
out = df.groupby(['Region','Date'],as_index=False).\
agg({'Population':'sum',
'Num_Men':'sum',
'Num_Women':'sum',
'State':'first'})
Out[99]:
Region Date Population Num_Men Num_Women State
0 Middle 2020-02-01 2000 950 1050 GL
1 North 2020-01-01 500 300 200 NY
2 North 2020-02-01 600 400 200 NY
推荐阅读
- c++ - 具有布尔模板参数的成员函数的显式模板实例化
- python - 使用字典中的列表
- android - 从底部开始显示 RecyclerView 项目而不颠倒顺序
- nginx - Kubernetes入口错误:重定向你太多次
- java - 包含映射模型时,Spring Data JPA 获取所有列
- python - Pylint 错误:导入包时模块中没有名称
- linux - Bash:语法错误操作数应为“=”,在for循环中的赋值语句中
- html - 每当您在浏览器中检查 html 元素时,如何防止 html 元素被垂直压缩?
- xcode - 使用 swift 3 保持 sqlite 3 数据库打开
- html - CSS - 更改气泡的“句柄”