Взятие первых 2 значений из списка - PullRequest
0 голосов
/ 24 июня 2018

В первом столбце файла, который я смотрю, он читает список из 7 различных значений, разделенных запятыми, например: Алекс, 43,37,12,1,2,5

Есть еще 2000 строк, которые настроены таким же образом.

Меня интересуют только первые 2, остальные для меня не важны. Я пытаюсь присвоить первые два значения отдельным столбцам в моем фрейме данных, например:

 typesx = (line.split(",") for line in df['firstcolumn'])
ty=((type[0], type[1]) for type in typesx)
for z in range(len(df)):
    df['firstplaceholder'][z] = type(0)
    df['secondplaceholder'][z] = type(1)

Однако, это только помещает тип в соответствующие столбцы (т.е. int, string), иди на цифру.

Я в замешательстве, потому что, если я решу напечатать тип 0 и тип 1, он напечатает то, что я ищу (в данном случае alex, 43). Вот так:

for a,b in ty:

    print(a,b)

Однако я не уверен, как скопировать эти значения в отдельные созданные мной столбцы (firstplaceholder, secondplaceholder).

Ответы [ 2 ]

0 голосов
/ 24 июня 2018
df=pd.DataFrame(data={"1":["a,bb,c,d"],"2":["n,g,r,h,l"]},index=['firstcolumn']).T

df['secondcolumn']=df['firstcolumn'].apply(lambda s:s.split(',')[1])
df['firstcolumn'] =df['firstcolumn'].apply(lambda s:s.split(',')[0])
0 голосов
/ 24 июня 2018

Мне кажется, что вы делаете ошибку при получении значений.Попробуйте следующий код.

df['firstplaceholder'][z] = ty[z][0] df['secondplaceholder'][z] = ty[z][1]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...