2016-11-28 2 views
0

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

ID  Hobbby Name 
1  Travel Kevin 
2  Photo  Andrew 
3  Travel Kevin 
4  Cars  NaN 
5  Photo  Andrew 
6  Football NaN 
.............. 1303 rows. 

Количество имен заполненными может быть большой, то 2, а также. Я бы хотел, чтобы весь столбец Имени заполнил n равнозначно именам (или + 1 в случае четного числа строк). Я уже храню в переменном количестве имен общее количество имен. В приведенном выше случае это 2. Я пробовал фильтровать и подсчитывать по каждому имени, но я не знаю, как это сделать, когда число имен является динамическим. Ожидаемый Dataframe:

ID  Hobbby Name 
1  Travel Kevin 
2  Photo  Andrew 
3  Travel Kevin 
4  Cars  Kevin 
5  Photo  Andrew 
6  Football Andrew 

Я пробовал: заменить NaN с 0 в колонке Name с помощью fillna. Отфильтруйте столбец и в итоге получим фрейм данных, в котором есть только поля na, а затем len (df), чтобы получить число nan и отсюда создаются 2 базы данных, каждая из которых содержит половину df. Бу, я думаю, что этот подход совершенно неверен, поскольку у меня не всегда есть 2 Имена. Там может be2,3,4 и т.д. (это задается словарем)

Любая помощь высоко оценили

Спасибо.

+0

вы можете разместить код, который вы пробовали и вывод, который вы ожидаете? –

ответ

0

Это трудно сказать, но я думаю, что вам нужно ffill

df['Name'] = df['Name'].ffill() 
Смежные вопросы