R具有with()和within()函数,这些函数允许您引用data.frame的列而不预先添加data.frame的名称。这对于避免一些击键和使语句更简单非常有用。
熊猫中有类似的东西吗?
答案 0 :(得分:7)
没有完全相同的东西(你不能像在R中那样将DataFrame附加到命名空间),但你可以使用0.13中可用的实验DataFrame.query()
method和DataFrame.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中的公式。