【问题标题】:How to round the value, python [duplicate]如何舍入值,python [重复]
【发布时间】:2020-01-14 21:28:54
【问题描述】:

如何对数据框的每一行进行四舍五入?我试过这样看,但似乎找不到正确的解决方案 我有一些代码:

skrip, si3 = konten(skripsi2, 'proba.sav')
berita1['hasil_sentimen'] = pd.Series(skrip)
berita1['probability'] = pd.Series(si3)
print(berita1)
berita1.to_csv('tes3.csv')

该代码的输出是:

         title  ...            probability
0          Oppo A9 2020 Mulai Bisa Dipesan, Harganya?  ...   [0.8453283032916837]
1   Soal Bukalapak PHK Karyawan, Merger Saja denga...  ...  [0.07600105760638853]
2   BJ Habibie Meninggal Dunia, Startup Unicorn In...  ...   [0.5804913651884153]
3        Ada PHK, Ini Jumlah Total Karyawan Bukalapak  ...  [0.04687216189109762]

如何对概率值进行四舍五入,所以,我希望概率的输出是:

85
8
58
5

【问题讨论】:

  • berita1['probability'] = berita1['probability'].round(2) * 100
  • @CodeDifferent 我收到了这个错误TypeError: can't multiply sequence by non-int of type 'float'

标签: python pandas dictionary rounding


【解决方案1】:

您似乎想将概率更改为百分比并向上取整:

berita1['probability'] = berita1['probability'].apply(lambda x: round(x[0]*100))

【讨论】:

  • 它不起作用。它给了我在行中迭代相同的值
  • 尝试:berita1['probability'].apply(lambda x: round(x[0]*100))
  • 结果还是没有乘100`[0.6850458372469185]`
  • 您能否再次检查您的probability 列是否为列表列表?即每一行都返回一个具有 1 个值的列表? 更新答案
  • 每一行的值都不同。概率列是一个列表
猜你喜欢
  • 2016-01-23
  • 1970-01-01
  • 2013-04-02
  • 1970-01-01
  • 2011-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多