python - 如何舍入破折号表中的小数位

标签 python plotly-dash

我有以下python代码:

import dash
import dash_html_components as html
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/dougmellon/rockies_dash/master/rockies_2019.csv')

def generate_table(dataframe, max_rows=10):
    return html.Table(
        # Header
        [html.Tr([html.Th(col) for col in dataframe.columns])] +

        # Body
        [html.Tr([
            html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
        ]) for i in range(min(len(dataframe), max_rows))]
    )


external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

app.layout = html.Div(children=[
    html.H4('Batting Stats (2019)'),
    generate_table(df)
])

if __name__ == '__main__':
    app.run_server(debug=True)

这是从这个 csv 文件( github )中提取数据:

enter image description here

当我运行以下代码时,

python app.py



它显示大于三位小数的数据 - 这不在我的 csv 文件中。

enter image description here

我已经尝试了三四次手动重新输入数据并将CSV重新上传到github,但由于某种原因,仍然存在大于三位小数的数据。

有没有人对我如何解决这个问题有任何建议?

最佳答案

我会检查这个数据框,也许它可能会有所帮助 -

How to display pandas DataFrame of floats using a format string for columns?

或者干脆试试——

pd.options.display.float_format = '${:.2f}'.format

我刚刚在其中一个 DashTable 论坛中读到 -
您可以在 Pandas 数据框中格式化数据,DataTable 将按原样显示它们。例如:

显示百分比值:
table_df['col_name']=table_df['col_name'].map('{:,.2f}%'.format)

显示不带小数部分的浮点型:
table_df['col_name']=table_df['col_name'].map("{:,.0f}".format)

关于python - 如何舍入破折号表中的小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59559941/

相关文章:

python - Plotly 图形组件无法接受视口(viewport)单位来设置文本注释字体大小

python - libpythonX.X 中包含的符号如何链接到 numpy 扩展动态库?

python - x 轴值的分组

python - 将测试分成偶数时间奴隶

python - 使用图表库在 Python 中的烛台图上覆盖成交量剖面

python - 如何使用 Plotly-Dash 调整 slider 和选择器的范围

python - 使用Scrapy从详细信息页面提取数据

python - 在没有辅助类的 Python Pylons Controller 中处理和显示错误的最简单方法

python - 如何在 plotly dash 中将垂直线添加到直方图?

python-3.x - Python Dash,从输入文本中获取值