R 具有 with() 和 within() 函数,它们允许您引用 data.frame 的列,而无需预先添加 data.frame 的名称。这对于避免一些击键和使语句更简单很有用。
大熊猫中有类似的东西吗?
没有什么完全等价的(你不能像在 R 中那样将 DataFrame 附加到命名空间),但是你可以使用 0.13 中可用的实验DataFrame.query()
方法和DataFrame.eval()
方法(候选版本应该在本周发布),可以让你执行以下操作:
>>> 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 的公式 API还允许您引用 R 中的公式。