在python中添加零时,sum()函数无法正常工作

2024-09-26 18:14:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用以下代码对dataframe的所有行求和:

df = pd.read_csv('dataset.csv', parse_dates =["date"], index_col ="date")
df.fillna(0, inplace=True)
df.head(10)

Result

date       CALIFORNIA-CENTRAL CALIFORNIA-SOUTH Ciudad Guzman La Barca  Zamora   Ensenada
                    
2014-01-01         0.0         34.778435        7.157517    20.216307   5.405574    10.788031
2014-02-01         0.0         43.540938        9.275431    26.198327   7.005088    13.980217
2014-03-01         0.0         36.032682        10.508932   29.682333   7.936665    15.839388
2014-04-01         0.0         51.948925        7.894117    22.296823   5.961877    11.898257
2014-05-01         0.0         24.522135        12.399953   35.023496   9.364822    18.689594
2014-06-01         0.0         66.884840        5.440356    15.366209   4.108722    8.199873
2014-07-01         0.0         43.974770        9.204158    25.997018   6.951260    13.872793
2014-08-01         0.0         51.296811        8.001250    22.599420   6.042787    12.059732
2014-09-01         0.0         30.358093        11.441187   32.315475   8.640733    17.244512
2014-10-01         0.0         45.377776        8.973664    25.345991   6.777184    13.525385

然后我从周一开始每周重新采样,并应用sum()函数:

weekly = df.resample('W-MON').sum()
weekly.head(10)

Result:

date       CALIFORNIA-CENTRAL CALIFORNIA-SOUTH Ciudad Guzman La Barca  Zamora   Ensenada

2014-01-05  0.161442          164.688463       35.074387    99.067123   26.489245   52.865205
2014-01-12  360.218088        198.894117       23.145886    65.375235   17.480477   34.886197
2014-01-19  11.395859         330.487743       58.833493    166.174392  44.432845   88.675667
2014-01-26  0.000000          295.610943       66.435441    187.645989  50.174067   100.133559
2014-02-02  0.000000          315.052247       63.241508    178.624769  47.761912   95.319564
2014-02-09  214.260106        227.217402       42.471614    119.960488  32.075855   64.014534
2014-02-16  141.873044        255.491621       49.718734    140.429880  37.549101   74.937619
2014-02-23  0.000000          330.671191       60.675535    171.377213  45.824011   91.452049
2014-03-02  0.000000          269.364174       70.747417    199.825104  53.430602   106.632702
2014-03-09  207.773431        238.926975       41.613565    117.536941  31.427831   62.721257

如果你能看到,列“CALIFORNIA-CENTRAL”中的和是错误的,它在第一行应该是0

我的问题是,问题是什么?为什么sum()函数不能加零

我很好地检查了我的dataset.csv文件,它是正确的,我重新启动了内核,清除了缓存并检查了类型列(浮动)

我做错了什么


Tags: csvdfdateresultheaddatasetlacentral

热门问题