gpt4 book ai didi

Python panda read_csv 在导入过程中转换数据时出现数据中值为 "-"的问题

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:18 24 4
gpt4 key购买 nike

我已经为这个问题苦苦挣扎了一段时间。我终于找到了发生这种情况的原因,但还没有找到解决方案。

我正在导入从网络上不同资源中抓取的 data.csv。其中大部分是字符串,需要删除,例如“%”。这就像使用自定义转换器的魅力一样。

但是,一旦列包含带有“-”(无值)的行,它就会给出错误“文件“D:test.py”,第14行,在convert_percentage中 返回 float(new_val) ValueError: 无法将字符串转换为 float: '-'"

我正在使用以下代码行:

import pandas as pd
import numpy as np

def convert_percentage(val):
new_val = val.replace(',','').replace('%', '')
return float(new_val)


df = pd.read_csv('data.csv', na_values=['-'],
converters={
'Perf Month': convert_percentage,
'Perf Week': convert_percentage,
'Perf Quarter': convert_percentage,
'Perf Half Y': convert_percentage,
'Payout': convert_percentage,

})

最佳答案

我建议你这样做:

def convert_percentage(val):
new_val = val.replace(',','').replace('%', '')
try:
return float(new_val)
except ValueError:
return new_val

您显然可以根据您想要返回的内容添加更多返回值。如果您认为应该每次都检查 if,请执行条件返回。但如果错误是异常的(从统计学上来说),try/except block 是最好的选择`

关于Python panda read_csv 在导入过程中转换数据时出现数据中值为 "-"的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52545145/

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