【发布时间】:2019-10-24 10:51:19
【问题描述】:
我的输入数据框;
A B
0.3 0.6
0.4 3.05
1.6 4.35
0.15 5.47
4.19 9.99
如果存在,我想根据特定值舍入我的数据框列。我的代码如下所示;
rounding=0.25
df['A']=round(df['A'] - rounding + 0.5)
df['B']=round(df['B'] - rounding + 0.5)
输出是;
A B
1 1
1 3
2 5
0 6
4 10
问题是如果没有“舍入”变量,它应该默认自动运行(0.5)。 我需要一个可以同时运行的代码。类似或不同的东西;
if rounding==rounding:
df['A']=round(df['A'] - rounding + 0.5)
else:
df['A']=round(df['A'])
我看到了很多关于具有特定值的四舍五入的主题,但我看不到这一点。
你能帮我解决这个问题吗?
【问题讨论】:
-
the issue is if there is no "rounding" variable- 怎么可能?你能解释更多吗? -
“舍入”变量可能会也可能不会。如果不存在,它应该接受默认的圆形值,即 0.5
-
是的,但怎么可能不存在?我不清楚。
-
舍入值来自另一个数据集。可能不是每个客户都有。
-
@Salih 如果不同行的舍入值不同,则它应该是数据框中的一列,而不是标量。
标签: python pandas dataframe rounding