【问题标题】:Omit decimal value [duplicate]省略十进制值 [重复]
【发布时间】:2021-02-07 03:25:40
【问题描述】:
TestVal_For_Prediction = TestVal_For_Prediction.reset_index(drop=True)
Prediction = TestVal_For_Prediction.iloc[:,[0,2,3]]
Prediction["Adj_Marketing_Expenses"] = TestVal_For_Prediction["Marketing_Expenses_x"] + TestVal_For_Prediction["Marketing_Expenses_y"]
Prediction.rename(columns={'Marketing_Expenses_y': 'Marketing_Expenses_Range'},inplace=True)
Prediction.rename(columns={'Marketing_Expenses_x': 'Budgeted_Marketing_Expenses'},inplace=True)

Y_pred1 = regressor.predict(Prediction["Adj_Marketing_Expenses"].values.reshape(-1,1))

Prediction['Predicted_Sales'] = Y_pred1
Prediction.round({"Predicted_Sales":1})
Prediction

输出:

“Predicted_Sales”值类似于以零点(十进制)结尾的 xxx.0。如何省略小数并将其转换为整数值?

【问题讨论】:

  • 您是希望将 pandas 列从浮点数实际转换 为整数,还是只是将其打印为整数?无论哪种方式,这在 SO 和 pandas 文档中都有现有的重复项,请阅读它们。
  • 另外,“省略十进制值”是一个非常不清楚的标题,它没有说明我们正在处理的对象和数据类型;你的是一个带有浮点值的数据框,它来自一个 numpy 数组。

标签: python numpy


【解决方案1】:

如果值在一个 numpy 数组中,它们看起来是,然后将其转换为 int,如下所示: Y_pred1 = regressor.predict(Prediction["Adj_Marketing_Expenses"].values.reshape(-1,1).astype(int))

【讨论】:

  • 您好,感谢您的建议。我试过你的脚本,但结果还是一样。当我打印预测时,Predicted_Values 仍然是十进制格式。你有什么主意吗 ?感谢您的帮助
  • 请不要回答明显重复的问题,它们只会被关闭,因此您不会从中获得任何代表。
【解决方案2】:

如果您使用的是 pandas,那么您可以使用 astype()。 预测['Predicted_Sales'] = 预测['Predicted_Sales'].astype("int") 这会将您的整个列转换为 int

【讨论】:

  • 数据似乎在一个数组中,而不是存储为单个值。
  • 您好,感谢您的建议。你能给我看看最终的剧本吗?在 python 中还是新的 :)
  • 这是使用我的数据..希望你理解..>>> df["latitude"] 0 17.234567 1 17.322340 2 17.422430 3 17.452340 4 17.542340 Name: latitude, dtype: float64 >>> df ["latitude"] = df["latitude"].astype("int") >>> df["latitude"] 0 17 1 17 2 17 3 17 4 17 名称:纬度,dtype:int32
猜你喜欢
  • 1970-01-01
  • 2021-02-05
  • 1970-01-01
  • 2013-06-16
  • 2018-10-02
  • 1970-01-01
  • 2019-11-22
  • 2017-03-19
  • 2013-06-13
相关资源
最近更新 更多