语境化。我是一个R用户,但目前正在python(带pandas)之间切换。假设我有这个数据框
data = {'participant': ['p1','p1','p2','p3'],
'metadata': ['congruent_1','congruent_2','incongruent_1','incongruent_2'],
'reaction': [22000,25000,27000,35000]
}
df_s1 = pd.DataFrame(data, columns = ['participant','metadata', 'reaction'])
df_s1 = df_s1.append([df_s1]*15,ignore_index=True)
df_s1
我想通过以下方式重现我在R(管道函数)中可以轻松完成的工作:
df_s1[(df_s1.metadata == "congruent_1") | (df_s1.metadata == "incongruent_1")].df_s1["reaction"].mean()
这是不可能的。当我将此代码拆分为部分/变量时,我才能成功:
x = df_s1[(df_s1.metadata == "congruent_1") | (df_s1.metadata == "incongruent_1")]
x = x["reaction"].mean()
x
在dplyr的方式,我会去的
ds_s1 %>%
filter(metadata == "congruent_1" | metadata == "incongruent_1") %>%
summarise(mean(reaction))
注意:我非常感谢对一个可以将我的R代码转换为Python的站点的简明引用。有几种文献可用,但格式混合,风格灵活
谢谢
你是说:
或使用
isin
更简单:输出:
我们这里有
.loc
更改为
isin
,如Quang所述,尽量减少代码行在R底
除了其他建议的解决方案外:
相关问题 更多 >
编程相关推荐