Следующий код работает, но требует 3 прохода через фрейм данных и работает очень медленно.Должен быть лучший способ сделать это?
df['raw_results'].replace("{}", '{"PhysicalDisks":[{"Status":"NaN","Name":"NaN"}]}', inplace=True)
df['raw_results'].replace('{"error":8004}', '{"PhysicalDisks":[{"Status":"error","Name":"NaN"}]}', inplace=True)
df['raw_results'].replace('{"error":8003}', '{"PhysicalDisks":[{"Status":"error","Name":"NaN"}]}', inplace=True)
Обновление
Это работает намного быстрее, но все же будет лучше, если ошибки будут обрабатываться с помощью чего-то вроде регулярного выражениядля размещения различных кодов ошибок:
df['raw_results'] = np.where(df.raw_results == '{}', '{"PhysicalDisks":[{"Status":"NaN","Name":"NaN"}]}', df.raw_results)
df['raw_results'] = np.where(df.raw_results == '{"error":8004}', '{"PhysicalDisks":[{"Status":"error","Name":"NaN"}]}', df.raw_results)
df['raw_results'] = np.where(df.raw_results == '{"error":8003}', '{"PhysicalDisks":[{"Status":"error","Name":"NaN"}]}', df.raw_results)