我有一个如下所示的数据框
df = pd.DataFrame({
'x' : range(0,5),
'y' : [[0,2],[3,4],[2,3],[3,4],[7,9]]
})
Run Code Online (Sandbox Code Playgroud)
我想测试 x 的每一行,如果该值位于 y 列指定的列表中
df[df.x.isin(df.y)]
Run Code Online (Sandbox Code Playgroud)
所以我最终会得到:
不知道为什么 isin() 在这种情况下不起作用
我正在使用 'across' 函数来获取一系列变量的汇总统计信息(例如,所有以 'f_' 开头的变量。由于 across 函数会将汇总结果存储回原始变量名称,因此具有多个 cross具有不同汇总函数的函数会覆盖结果(如下所示)。我可以想到一种解决方法,方法是在 summarise() 后重命名变量并 cbind 结果单个表。但是,这看起来很麻烦,我想知道是否有是将一系列汇总结果存储到新变量名称的一种整洁(双关语)方式。
var_stats = data %>%
summarise(
across(starts_with('f_'), max, na.rm = T),
across(starts_with('f_'), min, na.rm = T)
)
Run Code Online (Sandbox Code Playgroud)