python - 使用 df.groupby.sum() 保持 NaN
问题描述
我想在我的数据帧上使用 pd.group.sum() 函数,但NaN
如果只有NaN
这个组,则保留所有。我想分组df['pos']
我的DF
样子是这样的。例如df['pos] = 54
,只有NaN
.
pos fak date(1) date(2) date(3) date(4) date(5) date(6) date(7) date(8) date(9)
0 1 -5 0.000051 0.000000 0.001513 NaN 0.000000 0.002158 0.002076 0.013877 0.002629
1 1 -5 0.000000 0.000000 0.000000 NaN 0.000981 0.007182 0.011286 0.007320 0.014401
2 1 -5 0.000000 0.000000 0.000000 NaN 0.000000 0.016409 0.074470 0.070474 0.083052
3 1 -5 0.000186 0.000173 0.000357 NaN 0.004149 0.002142 0.014687 0.013459 0.015993
4 1 -5 0.000000 0.000000 0.000041 NaN 0.000185 0.012279 0.055842 0.056840 0.066203
... ... ... ... ... ... ... ... ... ... ... ...
2155 54 -60 NaN NaN NaN 0.000000 0.000379 NaN 0.000463 NaN NaN
2156 54 -60 NaN NaN NaN 0.000000 0.000000 NaN 0.000000 NaN NaN
2157 54 -60 NaN NaN NaN 0.000273 0.000049 NaN 0.000350 NaN NaN
2158 54 -60 NaN NaN NaN 0.001211 0.001595 NaN 0.000000 NaN NaN
2159 54 -60 NaN NaN NaN 0.000000 0.000000 NaN 0.000000 NaN NaN
我已经尝试过了df = df.groupby(['pos'],dropna=False, as_index=False).sum()
,但它不起作用。
这是结果,NaN
s 现在是 0.00000 。
pos fak date(1) date(2) date(3) date(4) date(5) date(6) date(7) date(8) date(9)
0 1 -200 0.024563 0.032834 0.074156 0.000000 0.234502 0.362337 1.516347 1.527092 1.753685
1 2 -400 0.040524 0.053630 0.063485 0.000000 0.198094 0.276794 1.525365 1.841798 1.969436
2 3 -800 0.009291 0.031600 0.073616 0.000000 0.280969 0.328736 0.633346 0.642846 0.552222
3 4 -1200 0.064728 0.078212 0.092083 0.000000 0.129316 0.182042 0.377034 0.378554 0.386440
4 5 -1600 0.101865 0.000000 0.140608 0.000000 0.124510 0.137197 0.431861 0.484383 0.532031
5 6 -2400 0.000000 0.000000 0.000000 0.000000 0.008811 0.006334 0.003912 0.012864 0.020904
6 7 -200 0.031317 0.034211 0.056051 0.000000 0.220912 0.340917 1.433492 1.700108 0.000000
7 8 -400 0.028248 0.047995 0.062988 0.000000 0.115105 0.147000 1.472483 1.670148 0.000000
8 9 -800 0.009993 0.023724 0.028749 0.000000 0.244485 0.317650 0.773718 0.770574 0.000000
9 10 -1200 0.060934 0.050925 0.056541 0.000000 0.102622 0.151157 0.578781 0.548146 0.000000
10 11 -1600 0.000000 0.000000 0.042195 0.000000 0.037017 0.040787 0.137883 0.215892 0.000000
11 12 -2400 0.000000 0.000000 0.000000 0.000000 0.015000 0.015504 0.016443 0.013525 0.000000
12 13 -200 0.033684 0.071136 0.095553 0.000000 0.323579 0.394423 1.893914 1.991479 0.000000
13 14 -400 0.094615 0.136115 0.139518 0.000000 0.332107 0.311288 1.105235 0.000000 0.000000
14 15 -800 0.042394 0.072209 0.155419 0.000000 0.526857 0.553851 0.893223 0.000000 0.000000
15 16 -1200 0.059299 0.058083 0.065281 0.000000 0.129974 0.156188 0.331961 0.000000 0.000000
16 17 -1600 0.000000 0.000000 0.066679 0.000000 0.065574 0.077460 0.195380 0.000000 0.000000
17 18 -2400 0.000000 0.000000 0.000000 0.000000 0.033270 0.028225 0.025866 0.000000 0.000000
18 19 -200 0.042630 0.055218 0.080298 0.000000 0.391522 0.499725 1.403222 0.000000 0.000000
19 20 -400 0.025298 0.108026 0.162742 0.000000 0.227809 0.245723 1.077293 0.000000 0.000000
20 21 -800 0.037722 0.097791 0.152401 0.000000 0.715151 0.752843 1.114941 0.000000 0.000000
21 22 -1200 0.055918 0.056516 0.043803 0.000000 0.068511 0.132397 0.292633 0.000000 0.000000
22 23 -1600 0.000000 0.000000 0.020747 0.000000 0.038104 0.013681 0.042439 0.000000 0.000000
23 24 -2400 0.000000 0.000000 0.000000 0.000000 0.014000 0.011274 0.011610 0.000000 0.000000
24 25 -200 0.022679 0.041653 0.100295 0.000000 0.392581 0.500391 1.728872 0.000000 0.000000
25 26 -400 0.036260 0.072243 0.103652 0.000000 0.224679 0.200902 1.019090 0.000000 0.000000
26 27 -800 0.033814 0.053434 0.117975 0.000000 0.698710 0.729693 1.107308 0.000000 0.000000
27 28 -1200 0.056721 0.072790 0.066775 0.000000 0.118926 0.162361 0.211414 0.000000 0.000000
28 29 -1600 0.000000 0.000000 0.045459 0.000000 0.040460 0.036973 0.070029 0.000000 0.000000
29 30 -2400 0.000000 0.000000 0.000000 0.000000 0.015434 0.015848 0.011192 0.000000 0.000000
30 31 -200 0.023094 0.043426 0.098801 0.000000 0.260836 0.416549 1.395852 0.000000 0.000000
31 32 -400 0.167295 0.276138 0.296398 0.000000 0.311054 0.358546 1.103263 0.000000 0.000000
32 33 -800 0.094436 0.136444 0.196443 0.000000 0.702597 0.711211 0.870650 0.000000 0.000000
33 34 -1200 0.064289 0.049042 0.066301 0.000000 0.130224 0.180901 0.311792 0.000000 0.000000
34 35 -1600 0.000000 0.000000 0.013390 0.000000 0.023405 0.021575 0.053457 0.000000 0.000000
35 36 -2400 0.000000 0.000000 0.000000 0.000000 0.011907 0.013353 0.015592 0.000000 0.000000
36 37 -200 0.043485 0.085988 0.121368 0.000000 0.199337 0.267284 1.413241 0.000000 0.000000
37 38 -400 0.041560 0.128212 0.197058 0.000000 0.288968 0.346425 0.909868 0.000000 0.000000
38 39 -800 0.069200 0.144725 0.226132 0.000000 0.820162 0.831910 1.065590 0.000000 0.000000
39 40 -1200 0.072846 0.091395 0.102750 0.000000 0.221067 0.000000 0.332840 0.000000 0.000000
40 41 -1600 0.000000 0.000000 0.035349 0.000000 0.053643 0.000000 0.092243 0.000000 0.000000
41 42 -2400 0.000000 0.000000 0.000000 0.000000 0.014107 0.000000 0.036602 0.000000 0.000000
42 43 -200 0.053394 0.116654 0.159466 0.000000 0.240559 0.000000 1.509772 0.000000 0.000000
43 44 -400 0.072888 0.140678 0.152421 0.286404 0.325441 0.000000 0.736555 0.000000 0.000000
44 45 -800 0.041506 0.120343 0.182201 0.522677 0.664318 0.000000 0.935842 0.000000 0.000000
45 46 -1200 0.083877 0.100040 0.094347 0.096715 0.144822 0.000000 0.342716 0.000000 0.000000
46 47 -1600 0.000000 0.000000 0.104341 0.081887 0.092839 0.000000 0.136126 0.000000 0.000000
47 48 -2400 0.000000 0.000000 0.000000 0.011290 0.019646 0.000000 0.019559 0.000000 0.000000
48 49 -200 0.072106 0.174334 0.189319 0.366622 0.307984 0.000000 1.292118 0.000000 0.000000
49 50 -400 0.057340 0.112154 0.156192 0.256193 0.301292 0.000000 0.739956 0.000000 0.000000
50 51 -800 0.048841 0.092458 0.176346 0.443977 0.589220 0.000000 0.820428 0.000000 0.000000
51 52 -1200 0.053696 0.050076 0.066013 0.053777 0.084815 0.000000 0.318395 0.000000 0.000000
52 53 -1600 0.000000 0.000000 0.036317 0.034720 0.034823 0.000000 0.052545 0.000000 0.000000
53 54 -2400 0.000000 0.000000 0.000000 0.007626 0.012516 0.000000 0.010274 0.000000 0.000000
有没有人有想法或解决方法?
解决方案
推荐阅读
- python - 在数据块上将严重分区的数据帧加速到 s3
- python - 在python tkinter中用一条线连接2个checkbuttons
- ruby - ERB 模板中的代数符号操作
- jasper-reports - 线条仅在第一页可见
- javascript - 如何更改单击文本标签上的 svg 颜色
- jquery - 在 html/jquery 中用一个 JSON 字符串替换许多数据标签
- node.js - 节点脚本以 root 身份运行,无法在 AWS 中的 Ubuntu 上获得凭证访问权限,是这样吗?
- scala - 斯卡拉阿卡 | 如何在集群中使用 allButSelf 属性?
- tensorflow - Tensorflow NN 实现不收敛
- python - 对 RGB 图像进行维纳滤波