我正在将2个逗号分隔的值和一个标识符从csv加载到数据帧中。之后,我用点替换逗号并将其转换为浮点数:
tzeitverbrauch = []
df = df.apply(lambda x: x.str.replace(',', '.'))
df.Aufwand_geplant = df.Aufwand_geplant.astype(float).fillna(0.0)
df.Aufwand_laufend_ist = df.Aufwand_laufend_ist.astype(float).fillna(0.0)
此后,我调用一个函数,该函数为一个标识符计算这两个值的差值:
def calculate(identifier):
aufwand_geplant = df.loc[(df.Identifier == identifier), 'Aufwand_geplant'].values[0]
aufwand_ist = df.loc[(df.Identifier == identifier), 'Aufwand_laufend_ist'].values[0]
x = aufwand_ist - aufwand_geplant
tzeitverbrauch.append(x)
for x in df_identifier:
calculate(x)
但是,由于某些奇怪的原因,我得到了结果,并且在调试代码时一切正常,但是在某些时候却弹出了异常:
Traceback (most recent call last):
File "H:/PycharmProjects/PycharmProjects/PP-KPI/Levenshtein.py", line 53,
in <module> calculate(x)
File "H:/PycharmProjects/PycharmProjects/PP-KPI/Levenshtein.py", line 43,
in calculate aufwand_geplant = df.loc[(df.identifier == identifier), 'Aufwand_geplant'].values[0]
IndexError: index 0 is out of bounds for axis 0 with size 0
此处的值:
print(len(df.Aufwand_geplant)) = 125
print(len(df.Aufwand_laufend_ist)) = 125
print(len(df_identifier)) = 125
我感谢您的投入,并帮助您确定问题所在!