加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Pandas填写缺少的位置和计数

发布时间:2020-12-20 11:08:52 所属栏目:Python 来源:网络整理
导读:我有一个数据框,如下所示有四个位置: df Date Location Count0 2018-11-20 loc 1 221 2018-11-20 loc 2 1 2 2018-11-20 loc 3 53 2018-11-20 loc 4 344 2018-11-21 loc 1 205 2018-11-21 loc 2 26 2018-11-22 loc 1 207 2018-11-23 loc 3 38 2018-11-23 loc
我有一个数据框,如下所示有四个位置:

df
    Date        Location Count
0   2018-11-20  loc 1    22
1   2018-11-20  loc 2    1 
2   2018-11-20  loc 3    5
3   2018-11-20  loc 4    34
4   2018-11-21  loc 1    20
5   2018-11-21  loc 2    2
6   2018-11-22  loc 1    20
7   2018-11-23  loc 3    3
8   2018-11-23  loc 4    21

我希望用0计数来填补缺失的位置,这样看起来像:

df
    Date        Location Count
0   2018-11-20  loc 1    22
1   2018-11-20  loc 2    1 
2   2018-11-20  loc 3    5
3   2018-11-20  loc 4    34
4   2018-11-21  loc 1    20
5   2018-11-21  loc 2    2
6   2018-11-21  loc 3    0
7   2018-11-21  loc 4    0
8   2018-11-22  loc 1    20
9   2018-11-22  loc 2    0
10  2018-11-22  loc 3    0
11  2018-11-22  loc 4    0
12  2018-11-23  loc 1    0
13  2018-11-23  loc 2    0
14  2018-11-23  loc 3    3
15  2018-11-23  loc 4    21

日期存储为字符串.做这个的最好方式是什么?我应该首先转换日期然后应用函数吗?

解决方法

您可以使用带有堆栈的数据透视

df = df.pivot(*df.columns).fillna(0).stack().reset_index().rename(columns={0:'Count'})
df
Out[60]: 
          Date Location  Count
0   2018-11-20     loc1   22.0
1   2018-11-20     loc2    1.0
2   2018-11-20     loc3    5.0
3   2018-11-20     loc4   34.0
4   2018-11-21     loc1   20.0
5   2018-11-21     loc2    2.0
6   2018-11-21     loc3    0.0
7   2018-11-21     loc4    0.0
8   2018-11-22     loc1   20.0
9   2018-11-22     loc2    0.0
10  2018-11-22     loc3    0.0
11  2018-11-22     loc4    0.0
12  2018-11-23     loc1    0.0
13  2018-11-23     loc2    0.0
14  2018-11-23     loc3    3.0
15  2018-11-23     loc4   21.0

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读