gpt4 book ai didi

python - 根据具有未知列的值类型格式化 pandas 数据框

转载 作者:行者123 更新时间:2023-12-01 08:17:11 24 4
gpt4 key购买 nike

我正在开发一个网站,该网站采用 Excel 工作表,将其转换为 pandas 数据框,然后将其发送回并进行一些计算和格式化。因此用户提供小数和数据帧:

decimals = 2
df = pd.DataFrame([["a", 1], ["b", 2.2]], columns=["name", "value"])

然后是结果需要发送回的任意尾随零/路由位置:

name    value
a 1.00
b 2.20

我已经做到了这一点,直到我开始遇到类型问题:

if decimals:
pandas.options.display.float_format = f"{{:.{decimals}f}}".format
df = df.astype(float)

但是当然df["name"]将无法转换:

ValueError: could not convert string to float: 'a'

如果我提前知道我可以使用 df.format()但在这种情况下,他们可能会上传由字符串、 float 或整数组成的任意矩阵。

最佳答案

要么检查当前类型,然后仅转换您想要的类型(任何数字类型或仅 float ?),或者您可以转换所有可转换的内容(请求宽恕比请求许可更容易):

for col in df.columns:
try:
df[col] = df[col].astype(float)
except ValueError:
pass

关于python - 根据具有未知列的值类型格式化 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54913926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com