Манипулирование данными - Python - PullRequest
0 голосов
/ 31 октября 2019

Я хочу, чтобы столбцы id1, id2, id3 были транспонированы в строки, содержащие одно и то же значение для имени.

Ввод: - enter image description here

Вывод:- enter image description here

1 Ответ

0 голосов
/ 31 октября 2019

Не уверен, что это именно то, что вам нужно:

import pandas as pd
df = pd.DataFrame([[10,20],[9,11],[7,None],[None,None],['Emma','Elly']]).T
df.columns = ['ID','ID1','ID2','ID3','Name']

data = []
for i,r in df.iterrows():
  r = r.to_dict()
  for k,v in r.items():
    if k.startswith('ID') and v is not None:
      data.append([v,r['Name']])

result = pd.DataFrame(data,columns=['ID','Name'])

Вывод:

    ID  Name
0   10  Emma
1   9   Emma
2   7   Emma
3   20  Elly
4   11  Elly
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...