pandas是否具有R''with()'和'within()'函数的等价物?

时间:2013-11-06 01:10:06

标签: python r pandas

R具有with()和within()函数,这些函数允许您引用data.frame的列而不预先添加data.frame的名称。这对于避免一些击键和使语句更简单非常有用。

熊猫中有类似的东西吗?

1 个答案:

答案 0 :(得分:7)

没有完全相同的东西(你不能像在R中那样将DataFrame附加到命名空间),但你可以使用0.13中可用的实验DataFrame.query() methodDataFrame.eval() method(候选版应该是本周),会让你做的事情如下:

>>> df = DataFrame({"A": range(10), "B": range(0, 20, 2)})
>>> df
   A   B
0  0   0
1  1   2
2  2   4
3  3   6
4  4   8
5  5  10
6  6  12
7  7  14
8  8  16
9  9  18

>>> df.query("A < 5 and B in (1, 2, 3, 5, 6)")
   A  B
1  1  2
3  3  6
>>> df.eval("A + B")
0     0
1     3
2     6
3     9
4    12
5    15
6    18
7    21
8    24
9    27
dtype: int64

作为一个奖励,在大型帧上,这会被numexpr加速。

statsmodels' formula API还允许您引用R中的公式。