Возникли проблемы с pandas - PullRequest
0 голосов
/ 03 марта 2020
import pandas as pd 

stack = pd.DataFrame(['adam',25,28,'steve',25,28,'emily',18,21)
print(stack[0].to_list()[0::2]) 
print(stack[0].to_list()[1::2]) 
df = pd.DataFrame(
{'Name': stack[0].to_list()[0::3], 
'Age': stack[0].to_list()[1::3], 
'New Age': stack[0].to_list()[2::3] }
) 

print(df)

Это как мне разделить Адама и Стива в другой ряд? Я хочу, чтобы он выстроился так, как показано в таблице ниже.

Таблица

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Эти две строки должны сделать это. Однако, не зная, какой у вас код, что вы пытаетесь выполнить sh или что еще вы собираетесь с ним делать, следующий код действителен только в этой ситуации.

d = {'Name': ['adam', 'steve', 'emily'], 'Age': [22, 25, 18]}
df = pd.DataFrame(d)
0 голосов
/ 03 марта 2020

Вы можете получить его в виде списка и использовать срез [0::2] и [1::2]

import pandas as pd

data = pd.DataFrame(['adam',22,'steve',25,'emily',18])

print(data)
#print(data[0].to_list()[0::2])
#print(data[0].to_list()[1::2])

df = pd.DataFrame({
    'Name': data[0].to_list()[0::2],
    'Age': data[0].to_list()[1::2],
})

print(df)    

До (как на оригинальном изображении, удаленном из вопроса)

       0
0   adam
1     22
2  steve
3     25
4  emily
5     18

После :

    Name  Age
0   adam   22
1  steve   25
2  emily   18

РЕДАКТИРОВАТЬ: изображение из исходного вопроса

enter image description here


РЕДАКТИРОВАТЬ: КСТАТИ: то же самое с обычным списком

import pandas as pd

data = ['adam',22,'steve',25,'emily',18]

print(data)

df = pd.DataFrame({
    'Name': data[0::2],
    'Age': data[1::2],
})

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