Pandas -терация через фрейм данных, объединяющий значения строк и значений столбцов в новый фрейм данных относительно заданного значения c столбца - PullRequest
0 голосов
/ 23 января 2020

У меня есть фрейм данных из 32250 строк x 901 столбцов: data Я хочу перебрать все значения строк столбца 'TRAINSET' и объединить соответствующие значения строк столбцов '1 ',' 2 ',' 3 '... n и оставьте' date 'в том же виде для объединенного поля:

, например

 d= {     'TS': ['a', 'b', 'c'],
       'date':  [ 7,   6,   8 ],
         'X':   ['x', 'x', 'x'],
         'Y':   ['y', 'y', 'y']
     }

, то есть после операции результирующий кадр данных будет выглядеть следующим образом

d= {   'TS+1':  ['ax','ay','bx','by','cx','cy'],
       'date':  [ 7,   7,   6,   6,    8,   8 ],
         'X':   ['x', 'x',  'x', 'x', 'x', 'x'],
         'Y':   ['y', 'y',  'y', 'y', 'y', 'y']
    } 

столбец x, y .... n содержит 32250 записей одинакового значения проверьте изображение для описания фактических данных

Первые несколько значений в результирующей таблице будут иметь вид

d= { 'TRAINSET':['TNST175TC101','TNST175TC102','TNST175TC103','TNST175TC104','TNST175TC105'],
   'date':[ '2018-1-5','2018-1-5','2018-1-5','2018-1-5','2018-1-5'],
     '1':   ['TC101', 'TC101',  'TC101', 'TC101', 'TC101'],
     '2':   ['TC102', 'TC102',  'TC102', 'TC102', 'TC102']
        }

Заранее спасибо:)

1 Ответ

1 голос
/ 23 января 2020

Используйте concat с добавлением новых значений в столбцы TS на DataFrame.assign, затем DataFrame.sort_index и создайте значение по умолчанию RangeIndex с помощью reset_index:

df = pd.concat([df.assign(TS = df['TS'] + 'x'), 
                df.assign(TS = df['TS'] + 'y')]).sort_index().reset_index(drop=True)
print (df)
   TS  date  X
0  ax     7  x
1  ay     7  x
2  bx     6  y
3  by     6  y
4  cx     8  z
5  cy     8  z
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...