R和Python为同一数据集计算不同的平均值
当我分别在R和python中计算平均值时,我有一个相同的数据集,不同的平均值出现了 对于使用anaconda/Jupyter笔记本的python和使用RStudio的R Python代码 R码R和Python为同一数据集计算不同的平均值,python,r,mean,Python,R,Mean,当我分别在R和python中计算平均值时,我有一个相同的数据集,不同的平均值出现了 对于使用anaconda/Jupyter笔记本的python和使用RStudio的R Python代码 R码 date\u avg\u item\u cnt% 分组人(日期块数)%>% dplyr::总结(日期平均项目=平均(项目月))%>% 解组() 标题(日期\u平均\u项目\u cnt%>%as.data.frame,10) +------------------------------------+ |日
date\u avg\u item\u cnt%
分组人(日期块数)%>%
dplyr::总结(日期平均项目=平均(项目月))%>%
解组()
标题(日期\u平均\u项目\u cnt%>%as.data.frame,10)
+------------------------------------+
|日期块数量日期平均项目数量|
+------------------------------------+
| 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 |
+------------------------------------+
汇总/汇总似乎有所不同。点python显示6位数字后,R显示7位数字。所以这种差异是由口译员使用的精度造成的。我不知道。没有,,我们不可能复制this@camille你可以从kaggle下载数据集,如果R和python使用不同的技术计算中心趋势,那么最终结果应该有一个小的差异,但是在我的例子中,当我使用python结果预测分数为0.9,而我在R中执行相同的技术时,我的最终结果是1.2,这是一个巨大的差异任何想法都不同。这是一个卡格尔竞赛,我正试图用这两种语言来解决这个问题,以了解其中的差异。两者的计算精度都比印刷品高很多。。。
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 |
+------------------------------------+