2016-08-04 5 views
2

У меня есть столбец в excel, который содержит комбинацию названий первых имен, последних имен и заданий. Только шаблон, который можно наблюдать, - в каждом наборе из трех строк, каждая первая строка - это имя, вторая строка - фамилия, а 3-я строка - это название задания. Я хочу создать 3 различных столбцов и и разделение этой информации Sample данные:Отдельные данные из одного столбца на три столбца

John 
Bush 
Manager 
Katrina 
Cohn 
Secretary 

Я хочу: Джон Буш, менеджер, как одна строка идет в трех разных столбцах под Имя, Фамилия и название работы соответственно. Нравится (-а) -

First Name Last Name Job Title 
John   Bush   Manager 
Katrina  Cohn   Secretary 

Как мы можем достичь этой задачи?

ответ

0
s = pd.Series([ 
     'John', 
     'Bush', 
     'Manager', 
     'Katrina', 
     'Cohn', 
     'Secretary']) 

df = pd.DataFrame(s.values.reshape(-1, 3), 
        columns=['First Name', 'Last Name', 'Job Title']) 

df 

enter image description here


Если длина ваших данных не является кратным 3, то вы можете заставить его так:

s = pd.Series([ 
     'John', 
     'Bush', 
     'Manager', 
     'Katrina', 
     'Cohn', 
     'Secretary', 
     'Bogus']) 

s_ = s.iloc[:s.shape[0] // 3 * 3] 
df = pd.DataFrame(s_.values.reshape(-1, 3), columns=['First Name', 'Last Name', 'Job Title']) 

df 

enter image description here

+0

ValueError: общий размер нового массива должен быть неизменным – ComplexData

+0

@ user6461192, что означает, что ваш ряд не имеет длину, которая кратна 3. См отредактированный пост. – piRSquared

+0

Спасибо, что сработал. Что мы можем сделать, если нам нужно взять excel в качестве ввода, вместо этого перейдем к жесткому кодированию данных в серии – ComplexData

3

Вы можете использовать this notation, чтобы получить каждый третий элемент с разными отправными точками.

l = ['John', 'Bush', 'Manager', 'Katrina', 'Cohn', 'Secretary'] 

pd.DataFrame({'First Name': l[::3], 'Last Name': l[1::3], 'Job Title': l[2::3]}) 

выходы

First Name Job Title Last Name 
0  John Manager  Bush 
1 Katrina Secretary  Cohn 
+0

ValueError: массивы должны быть все же длина – ComplexData

Смежные вопросы