这个问题在这里已有答案:
当我分别计算R和python中的平均值时,我有相同的数据集,不同的平均值即将到来
对于使用anaconda / Jupyter笔记本的python和使用RStudio的R
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 |
+------------------------------------+
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 |
+------------------------------------+
综述/结果似乎有所不同。在dot python显示6位数后,R显示7位数。所以差异是由于口译员正在使用的那种精确度。