Python:如果数字太长怎么办?

2024-10-02 00:43:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将poloar转换为x-y面板:

df['x']=df.apply(lambda x: x['speed'] * math.cos(math.radians(x['degree'])),axis=1)
df['y']=df.apply(lambda x: x['speed'] * math.sin(math.radians(x['degree'])),axis=1)
df.head()

这就产生了 enter image description here

问题是x太长了,我怎样才能把它缩短?你知道吗

我发现在How to turn a float number like 293.4662543 into 293.47 in python?,我可以做"%.2f" % 1.2399,但如果这是一个好方法?你知道吗


Tags: tolambda面板dfmathsincoshead
1条回答
网友
1楼 · 发布于 2024-10-02 00:43:06

实际上,np.圆形在这种情况下效果很好

> from pandas import DataFrame
> import numpy as np
> a = DataFrame(np.random.normal(size=10).reshape((5,2)))
0   1
0   -1.444689   -0.991011
1   1.054962    -0.288084
2   -0.700032   -0.604181
3   0.693142    2.281788
4   -1.647281   -1.309406

> np.round(a,2)
0   1
0   -1.44   -0.99
1   1.05    -0.29
2   -0.70   -0.60
3   0.69    2.28
4   -1.65   -1.31

也可以通过简单地用舍入值覆盖来舍入单个列:

> a[1] = np.round(a[1],3)
> a
0   1
0   0.028320    -1.104
1   -0.121453   -0.179
2   -1.906779   -0.347
3   0.234835    -0.522
4   -0.309782   0.129

相关问题 更多 >

    热门问题