Pandas:列值的位移运算符(>>)

时间:2018-10-26 01:32:05

标签: python pandas

我似乎无法弄清楚如何在pandas列中对值进行位移。

我想做的事情看起来像:

df = pd.DataFrame({'x': [1, 2, 3], 'y': [3, 4, 5]})
df['val'] = ((x << 1) * math.pi

结果:

unsupported operand type(s) for <<: 'Series' and 'int'

什么是正确的格式?

2 个答案:

答案 0 :(得分:5)

使用numpy

(df.x.values<<1)*math.pi
Out[354]: array([ 6.28318531, 12.56637061, 18.84955592])
#df['val']=(df.x.values<<1)*math.pi

答案 1 :(得分:0)

这可能是您要寻找的。我不认为移位是矢量化的:

df['val'] = (df['x'].apply(lambda x: x << 1))*math.pi

输出:

   x  y        val
0  1  3   6.283185
1  2  4  12.566371
2  3  5  18.849556