Как выбрать другое значение в столбце, который содержит подсписок в каждой итерации в python? - PullRequest
1 голос
/ 19 июня 2019

У меня есть фрейм данных, который имеет столбец, который содержит списки в некоторых строках. Я хотел бы возвращать разные значения этих списков на каждой итерации.

В моей основной функции я перебираю строки для каждой строки фрейма данных, добавляя и изменяя некоторые значения фрейма данных. Что я хочу сделать с этим конкретным столбцом (который содержит списки в некоторых строках), так это выбирать разные значения списка в каждой итерации.

Те строки, которые содержат список в столбце, всегда дублируются, поэтому на первой итерации я бы выбрал первое значение, а на второй итерации я бы выбрал второе значение.

Итак, у меня есть следующий 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.

...