我目前正在研究熊猫,我来自R/dplyr/tidyverse背景。
熊猫有一个不那么直观的API,我如何用熊猫语法优雅地从dplyr重写这样的操作呢?
library("nycflights13")
library("tidyverse")
delays <- flights %>%
group_by(dest) %>%
summarize(
count = n(),
dist = mean(distance, na.rm = TRUE),
delay = mean(arr_delay, na.rm = TRUE)
) %>%
filter(count > 20, dest != "HNL")发布于 2022-09-09 22:32:56
我们可以编写一个熊猫连接函数和方法,这些函数和方法产生相同的dataframe/tibble:
delays = (
flights
.groupby('dest', as_index=False)
.agg({
'year': 'count',
'distance': 'mean',
'arr_delay': 'mean',
})
.rename(columns={
'year': 'count',
'distance': 'dist',
'arr_delay': 'delay',
})
.query('count > 20 & dest != "HNL"')
.reset_index(drop=True)
)更长的是:熊猫的pd.DataFrame.agg方法不允许在方法本身中更改列的名称。
但它是优雅的,干净的和清晰的熊猫允许我们去。
https://stackoverflow.com/questions/73668028
复制相似问题