R语言 在Python中创建聚合数据集以进行分析

lb3vh1jj  于 2022-12-25  发布在  Python
关注(0)|答案(1)|浏览(124)

我是一个R用户,正在学习Python,并尝试用Python创建聚合数据集,就像我在R或SQL中所做的那样。然而,Python的行为与我预期的不同--我不确定如何创建工作所需格式的数据集。

    • R**
library(dplyr)

# Create sample data
team <- c("Red Sox", "Red Sox", "Red Sox", "Red Sox", "Red Sox", "Red Sox", "Yankees", "Yankees", "Yankees", "Yankees", "Yankees", "Yankees")
pos <- c("Pitcher", "Pitcher", "Pitcher", "Not Pitcher", "Not Pitcher", "Not Pitcher", "Pitcher", "Pitcher", "Pitcher", "Not Pitcher", "Not Pitcher", "Not Pitcher")
age <- c(24, 28, 40, 22, 29, 33, 31, 26, 21, 36, 25, 31)

baseball_example <- data.frame(team, pos, age)
  
average_age_by_team_position <- baseball_example %>% group_by(team, pos) %>% summarise(mean_age = mean(age))

print(average_age_by_team_position)

此输出如下所示:
球队位置平均年龄1红袜不是投手28
2红袜投手30.7 3洋基非投手30.7 4洋基投手26

    • 当我尝试在Python中这样做时,分组列看起来不同。这意味着我不能将输出用作进一步分析的基础,也不能导出为csv文件**
    • 巨蟒**

x一个一个一个一个x一个一个二个x
团队职位
红袜不是投手洋基不是投手

    • 有谁能告诉我们如何创建一个输出类似R的Python代码版本吗?**

谢谢!:)
东尼

1mrurvl1

1mrurvl11#

根据我的问题,我做了更多的研究并找到了答案。看起来这归结于Python如何使用索引。
可以通过重置索引来解决,如下所示:

average_age_by_team_position = average_age_by_team_position.reset_index()
print(average_age_by_team_position)

我在下面的网站上找到了这个:https://jamesrledoux.com/code/group-by-aggregate-pandas

相关问题