首页 > 解决方案 > Pandas 计算 - 对于大小为 0 的轴 0,索引 0 超出范围

问题描述

我正在将 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

我感谢一些输入和帮助如何识别问题!

在此处输入图像描述

标签: pythondataframe

解决方案


推荐阅读