У меня есть фрейм данных, который имеет столбец, который содержит списки в некоторых строках. Я хотел бы возвращать разные значения этих списков на каждой итерации.
В моей основной функции я перебираю строки для каждой строки фрейма данных, добавляя и изменяя некоторые значения фрейма данных. Что я хочу сделать с этим конкретным столбцом (который содержит списки в некоторых строках), так это выбирать разные значения списка в каждой итерации.
Те строки, которые содержат список в столбце, всегда дублируются, поэтому на первой итерации я бы выбрал первое значение, а на второй итерации я бы выбрал второе значение.
Итак, у меня есть следующий DF:
1, A, G, 35
2, C, G, 85
3, C, [A,G], 95
4, C, [A,G], 95
5, T, A, 78
6, T, C, 59
7, T, [A,C], 35
8, T, [A,C], 35
Желаемый результат будет:
1, A, G, 35
2, C, G, 85
3, C, A, 95
4, C, G, 95
5, T, A, 78
6, T, C, 59
7, T, A, 35
8, T, C, 35
Таким образом, в итерации по строке 3 я выбираю первое значение списка, тогда как при итерации по строке 4 я получаю второе значение списка.
мой код выглядит так:
питон
output= ouputfile
for line in dataframe:
line = line.strip()
linesplit = line.split(',')
alt = linesplit[2]
altsplit = alt.split(',')
my_alt =[]
if len(alsplit) == 1:
my_alt.append(alt)
else:
my_alt.append(alt[n]) # n depending on the iteration
output.write = ",".join(linesplit[0:2]+my_alt+[linesplit[3]])
Я бы предпочел избегать Панд, так как они будут интегрированы в большую программу.
Большое спасибо за вашу помощь.
Rachael.