R和Python为同一数据集计算不同的均值

时间:2019-04-07 15:09:59

标签: python r mean

当我分别计算R和python中的平均值时,我具有相同的数据集,即将出现不同的平均值

对于使用anaconda / Jupyter笔记本的python以及对于使用RStudio的R

Python代码

group = matrix.groupby(['date_block_num']).agg({'item_cnt_month': ['mean']})

group.columns = [ 'date_avg_item_cnt' ]

group.reset_index(inplace=True)

group.head(10)
+------------------------------------+
| date_block_num | date_avg_item_cnt |
+------------------------------------+
| 0| 0.347168                        |
| 1| 0.324463                        |
| 2| 0.355469                        |
| 3| 0.275391                        |
| 4| 0.265137                        |
| 5| 0.283203                        |
| 6| 0.276855                        |
| 7| 0.316650                        |
| 8| 0.308105                        |
| 9| 0.290039                        |
+------------------------------------+

R代码

date_avg_item_cnt <- matrix %>% 
    group_by(date_block_num) %>% 
    dplyr::summarise(date_avg_item_cnt = mean(item_cnt_month)) %>% 
    ungroup()

head(date_avg_item_cnt %>% as.data.frame, 10)
+------------------------------------+
| date_block_num | date_avg_item_cnt |
+------------------------------------+
| 0    |     0.3471760               |
| 1    |     0.3244102               |
| 2    |     0.3555534               |
| 3    |     0.2753490               |
| 4    |     0.2652090               |
| 5    |     0.2831754               |
| 6    |     0.2768849               |
| 7    |     0.3167089               |
| 8    |     0.3081288               |
| 9    |     0.2900912               |
+------------------------------------+

1 个答案:

答案 0 :(得分:-1)

向上/向下取舍似乎有所不同。点python显示6位数字后,R显示7位数字。因此,差异是由口译员使用的精度造成的。