0

我有一个数据框,其中包含 2 列,称为 data_type 和 input_type。

要获取 data_type 列具有特定值的数据框子集,我可以使用:

subset_frame = dataframe.rx(dataframe.rx2('input_type').ro == 'VALUE', True)

我可以对列 input_type 执行相同的操作。但是,我还没有弄清楚如何在一次操作中结合这两个条件。从 rpy2 文档中,我期望应该工作的是

new_frame = dataframe.rx((dataframe.rx2('input_type').ro == 'VALUE1').ro 
                              & dataframe.rx2('data_type').ro == 'VALUE2').ro, 
                              True)

然而这也行不通。这样做的正确方法是什么?

4

1 回答 1

1

一是.ro过剩:

new_frame = all_data_frame.rx((dataframe.rx2('input_type').ro == 'VALUE1').ro 
                               & (dataframe.rx2('data_type').ro == 'VALUE2'), 
                              True)

否则,这可能会更改为and,而不是&。后者是 Python 中的位运算符。

>>> 1 & 2 # 0b01 & 0b10
0
>>> 1 & 3 # 0b01 & 0b11
1
于 2013-06-18T15:21:08.853 回答