Объединение одного столбца данных в другой, без использования общего ключа - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть датафрейм, как показано ниже:

                            User_Id     MARKED_CONTENT_AS_FAVOURITE RATE_CONTENT SEARCH VIEWED_CELEBRITY VIEWED_MOVIE VIEWED_TVSHOW
1 6916484f-b7bd-431a-818d-d1a63ff7c717                           0            0      1                0            4             0
2 9fbb7702-5209-46c8-b7c8-2c3d03550b56                           2            2      1                1           20             3
3 cb1fc554-8566-4c9f-a3ca-f64be302d65e                           0            0      1                1            0             0

Теперь у меня есть серия с одним значением. Я хочу выполнить своего рода векторизованную операцию, где у меня есть ряды только с одним значением.

  USER_CHECKED_IN_CONTENT
3                       0

Я хочу добавить этот столбец к фрейму данных следующим образом.

                               User_Id MARKED_CONTENT_AS_FAVOURITE RATE_CONTENT SEARCH VIEWED_CELEBRITY VIEWED_MOVIE VIEWED_TVSHOW USER_CHECKED_IN_CONTENT
1 6916484f-b7bd-431a-818d-d1a63ff7c717                           0            0      1                0            4             0                       0
2 9fbb7702-5209-46c8-b7c8-2c3d03550b56                           2            2      1                1           20             3                       0
3 cb1fc554-8566-4c9f-a3ca-f64be302d65e                           0            0      1                1            0             0                       0

Но когда я использую

pivot_activity.append(subset[[x for x in list(subset) if x not in list(pivot_activity)]]) 

Это дает вывод, как показано ниже:

   MARKED_CONTENT_AS_FAVOURITE  RATE_CONTENT  SEARCH  USER_CHECKED_IN_CONTENT                                User_Id  VIEWED_CELEBRITY  VIEWED_MOVIE 
0                          0.0           0.0     1.0                      NaN   6916484f-b7bd-431a-818d-d1a63ff7c717               0.0           4.0  
1                          2.0           2.0     1.0                      NaN   9fbb7702-5209-46c8-b7c8-2c3d03550b56               1.0          20.0  
2                          0.0           0.0     1.0                      NaN   cb1fc554-8566-4c9f-a3ca-f64be302d65e               1.0           0.0  
2                          NaN           NaN     NaN                      0.0                                    NaN               NaN           NaN  

Ответы [ 3 ]

0 голосов
/ 26 апреля 2018

Я думаю, вы можете использовать concat здесь. Допустим, у вас есть:

df - bigger data frame
df1 - smaller data frame

Вы можете сделать:

pd.concat([df, df1], axis=0).fillna(0)
0 голосов
/ 26 апреля 2018

Я думаю, это то, что вы собираетесь. Слияние, кажется, не то, что вам нужно, так как оно должно иметь некоторую ссылку для соответствия, и у вас есть сценарий 1 ко многим с разными ключами. Этот код назначит весь столбец из одного столбца единственного ряда фрейма данных подмножества:

pivot_activity['USER_CHECKED_IN_CONTENT'] = subset[ 'USER_CHECKED_IN_CONTENT'].head(1)
0 голосов
/ 26 апреля 2018

Вы можете легко добавить новый столбец к существующему фрейму данных "df", как показано ниже:

df['USER_CHECKED_IN_CONTENT'] = 0 # df is your existing dataframe
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...