Это мой фрейм данных:
d = {'id': [1,1,2,2,3,3,3] ,
'a_code': ['abc', 'abclm', 'pqr', 'pqren', 'lmn', 'lmnre', 'xyznt'],
'a_type':['CP','CO','CP','CO','CP','CP','CO'],
'z_code': ['abclm', 'wedvg', 'pqren', 'unfdc', 'lmnre','wqrtn','hgbvcx'],
'z_type': ['CO', 'CO', 'CO','CO','CP','CO','RT'],
'stepNo': [1,2,1,2,1,2,3]
}
df= pd.DataFrame(d)
У каждого идентификатора есть строки, которые являются непрерывными путями, определяемыми stepNo
. Я хочу напечатать все шаги в одной строке, чтобы я мог визуализировать путь. Значение stepNo
варьируется от 2 до 24, поэтому в некоторых случаях я мог иметь столбцы 5х24. Возможно ли это сделать?
Вывод:
id stepNo a_code a_type z_code z_type stepNo a_code a_type z_code z_type stepNo a_code a_type z_code z_type
1 1 abc CP abclm CO 2 abclm CO wedvg CO
2 1 pqr CP pqren CO 2 pqren CO unfdc CO
3 1 lmn CP lmnre CP 2 lmnre CP wqrtn CO 3 xyznt CO hgbvcx RT
ОБНОВЛЕНИЕ:
@ NY C Решение для кодера не удалось для этого образца, Я был бы признателен, если бы кто-нибудь мог помочь мне разобраться в этом, все другие ответы на тайм-аут или неразборчивы из-за необходимости вывода из-за большого числа измерений в моем кадре данных.
nan = ""
d = {'NAME': [1,1,2,2,3,3,3,3,3,4,4,4,4,4,4],
'col1': ['P100','P100','P100','P100','MS','MS','MS','MS','MS','MS','MS','MS','MS','MS','MS'],
'col2': ['CNMZ',
'CNMZ',
'COMX',
'COMX',
'_NCTE',
'_NCTE',
'_NCTE',
'_NCTE',
'_NCTE',
'T1MF',
'T1MF',
'T1MF',
'T1MF',
'T1MF',
'T1MF'],
'stepNo': [1, 2, 1, 2, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6],
'col4': ['xyz',
'abc',
'pqr',
'gvt',
'mno',
'tru',
'ercm',
'lotr',
'ddlj',
'refv',
'ecv',
'ecv',
'ecv',
'ecv',
'ecv'],
'col5': ['PHL',
'PHL',
'BHL',
'ALT',
'MRS',
'MRS',
'TUL',
'MRS',
'FAT',
'PHL',
'PHL',
'JEN',
'FTW',
'AMB',
'KGP'],
'col6': ['CP',
'CO',
'CP',
'CO',
'CP',
'CO',
'CO',
'CO',
'RT',
'CO',
'CO',
'CO',
'CP',
'CO',
'CO'],
'col7': ['PHL',
'PHL',
'ALT',
'ALT',
'MRS',
'TUL',
'MRS',
'FAT',
'FAH',
'PHL',
'JEN',
'FTW',
'AMB',
'KGP',
'KGP'],
'col8': ['CO',
'CO',
'CO',
'CO',
'CO',
'CO',
'CO',
'RT',
'CP',
'CO',
'CO',
'CP',
'CO',
'CO',
'CO'],
'col9': ['SID',
'M/M',
'SID',
'U/D',
'AL LO',
'AL LO',
'AL LO',
'AL LO',
'AL LO',
'M/M',
'DCS',
'DCS',
'DCS',
'DCS',
'DCS'],
'col10': ['SID',
'M/M',
'SID',
'U/D',
'AL LO',
'3 M',
'3 M',
'M/M',
'AL LO',
'M/M',
'DCS',
'DCS',
'DCS',
'DCS',
'DCS'],
'col11': [nan,
'ATM',
nan,
'PACK',
'AL LP',
'DCS',
'DCS',
'DAM',
'DAM',
'DCS',
'DCS',
'DCS',
'DCS',
'DCS',
'M/M'],
'col12': [nan,
'SID',
nan,
'PACK',
'CAL LO',
'DCS',
'DCS',
'M/M',
'CAL LO',
'DCS',
'DCS',
'DCS',
'DCS',
'DCS',
'AL LO'],
'col13': ['abc',
'-02-1_',
'-1',
'-13_',
nan,
nan,
nan,
'T1_VT1.',
nan,
'-06',
nan,
nan,
nan,
nan,
'-03_02-03'],
'col14': [nan,
nan,
nan,
nan,
'102/',
'102/',
'102/',
nan,
'101/',
nan,
'3405',
'3102/',
'3111/',
'3102/',
nan]}
df = pd.DataFrame(d)