У меня действительно странная проблема с пандами - я пытаюсь извлечь столбец значений из кадра данных для последующего анализа. Сценарий, который я написал, перебирает много файлов одновременно, чтобы сделать это. Каждый файл был создан с использованием одной и той же команды на bam-readcounts и содержит данные о глубине чтения для прогона секвенирования ДНК.
Иногда это работает как сон и возвращает все, что мне нужно, чтобы вернуть, другие я получаю сообщение об ошибке:
TypeError: cannot do slice indexing on <class 'pandas.core.indexes.base.Index'> with these indexers [310] of <class 'int'>
Столбец определенно содержит целые числа - я попробовал запустить скрипт с помощью float и str, чтобы быть уверенным.
У меня даже были случаи, когда я анализировал один и тот же набор файлов с интервалом в несколько минут без изменения кода моего сценария, и панды возвращали сообщение об ошибке. У меня были случаи, когда я анализировал два пакета файлов, созданных одновременно с помощью bam-headcount, и заставлял его возвращать сообщение об ошибке в одном пакете, но не в другом.
Соответствующий код:
col_names = ['Col_' + str(i) for i in range(1, max_col_nr)]
df = pd.read_csv(myFile, sep = '\t', names = col_names)
df2 = df.set_index("Col_2", drop = False)
df3 = (df2.loc[310:400,"Col_4"])
US_Av = (int(round(df4.mean())))
У меня никогда не было такой ситуации, когда один и тот же фрагмент кода изменял свое поведение при запуске, и если у кого-то есть какой-либо совет, я был бы чрезвычайно признателен. Это сводит меня с ума.
Пример данных для справки ниже. Это 4-я колонка, по которой я пытаюсь получить среднее значение.
GRIN2A 280 A 169
GRIN2A 281 C 169
GRIN2A 282 C 172
GRIN2A 283 T 171