Как заменить определенный столбец dataFrame на другой DataFrame Pandas - PullRequest
0 голосов
/ 31 октября 2018

Пока я играл с набором данных Excel, я дал два кадра данных data_xls и seggCol. Где data_xls, имеющий столбец 'Internal Link Tracking (non-promotions) - ENT (c20)', который я хочу заменить всеми столбцами из seggCol dataFrame.

Однако, глядя на что-то df.join или df.concat, я не совсем понимаю, как это сделать.

Говоря, что столбец DataFrame data_xls будет [Internal Link Tracking (non-promotions) - ENT (c20)] заменен другим столбцом DataFrame seggCol s ['Internal Link Tracking', 'Campaign Name', 'Creative', 'Action', 'Action 2']

Первый кадр данных:

столбцы DataFrame ...

   >>> data_xls.columns
    Index(['Date', 'Internal Link Tracking (non-promotions) - ENT (c20)', 'BFY_LinkedIn_SponsoredContent_Visits', 'BFY_LinkedIn_inMail_Visits', 'BFY_DBM_Native_Visits',
           'BFY_SGCPB_Native_Visits', 'BFY_SGCBDC_Email_Visits', 'BFY_SGCPB_Email_Visit', 'BFY_SGCBDC_Native_Visits', 'BFY_ConstructionDive_Email_Visit',
           'BFY_ConstructionDive_PromotedStory_Visit', 'BFY_SGCPB_PromotedStory_Visit', 'BFY_SGCBDC_PromotedStory_Visit', 'BFY_ConstructionDive_Native_Visits'],
          dtype='object')

Структура DataFrame ..

>>> data_xls.head()
        Date Internal Link Tracking (non-promotions) - ENT (c20)  BFY_LinkedIn_SponsoredContent_Visits  BFY_LinkedIn_inMail_Visits  BFY_DBM_Native_Visits  \
0 2018-08-20         us-campaign-article1-scrolldown-findoutnow                                      0                           0                      0
1 2018-08-20                   us-campaign-article1-scrollright                                      0                           0                      0
2 2018-08-20                    us-campaign-article1-findoutnow                                      1                           0                      1
3 2018-08-20          us-campaign-payablesmanagement-findoutnow                                      0                           0                      0
4 2018-08-20        us-campaign-strategicpurchasing-scrollright                                      0                           0                      0

   BFY_SGCPB_Native_Visits  BFY_SGCBDC_Email_Visits  BFY_SGCPB_Email_Visit  BFY_SGCBDC_Native_Visits  BFY_ConstructionDive_Email_Visit  \
0                        0                        0                      0                         0                                 0
1                        0                        0                      0                         0                                 0
2                        0                        0                      0                         0                                 0
3                        0                        0                      0                         0                                 0
4                        0                        0                      0                         0                                 0

   BFY_ConstructionDive_PromotedStory_Visit  BFY_SGCPB_PromotedStory_Visit  BFY_SGCBDC_PromotedStory_Visit  BFY_ConstructionDive_Native_Visits
0                                         0                              0                               0                                   0
1                                         0                              0                               0                                   0
2                                         0                              0                               0                                   0
3                                         0                              0                               0                                   0
4                                         0                              0                               0                                   0

Второй кадр данных:

Столбцы DataFrame ...

   >>> seggCol.columns
        Index(['Internal Link Tracking', 'Campaign Name', 'Creative', 'Action', 'Action 2'], dtype='object')

Структура DataFrame ..

>>> seggCol.head()
  Internal Link Tracking Campaign Name             Creative       Action    Action 2
0                     us      campaign             article1   scrolldown  findoutnow
1                     us      campaign             article1  scrollright        None
2                     us      campaign             article1   findoutnow        None
3                     us      campaign   payablesmanagement   findoutnow        None
4                     us      campaign  strategicpurchasing  scrollright        None

Требуемый новый фрейм данных:

           Date Internal Link Tracking     Campaign Name             Creative       Action              Action 2  BFY_LinkedIn_SponsoredContent_Visits  BFY_LinkedIn_inMail_Visits  BFY_DBM_Native_Visits  \
0    2018-08-20                          us      campaign             article1   scrolldown            findoutnow                                     0                           0                      0
23   2018-08-20                          us      campaign             article1    learnmore   strategicpurchasing                                     0                           0                      0
24   2018-08-20                          us      campaign             article1    learnmore  controlandvisibility                                     0                           0                      0
25   2018-08-21                          us      campaign             article1   scrolldown            findoutnow                                     0                           0                      0
26   2018-08-21                          us      campaign             article1  scrollright                  None                                     0                           0                      0
27   2018-08-21                          us      campaign             article1   findoutnow                  None                                     1                           1                      0
28   2018-08-21                          us      campaign   payablesmanagement   findoutnow                  None                                     2                           1                      0
29   2018-08-21                          us      campaign  strategicpurchasing  scrollright                  None                                     3                           2                      1

Ответы [ 2 ]

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

Попробуйте это

concatenation = [data_xls, seggCol]
 result = pd.concat(concatenation)

если вы хотите заменить значения data_xls ['Внутреннее отслеживание ссылок (не продвижение) - ENT (c20)'] на seggCol ['Внутреннее отслеживание ссылок']

Нет необходимости присоединяться или объединяться.

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

Попробуй это. Замените имена столбцов на ваши:

df1 = pd.DataFrame({'col1': [1, 2, 3], 'col2': [4, 5, 6]})
df2 = pd.DataFrame({'col3': [1, 2, 3], 'col4': [4, 5, 6]})
final_df = pd.concat([df1['col1'], df2, df1['col2']], axis=1)
final_df

enter image description here

Редактировать : В качестве альтернативы, вы можете нарезать столбцы и получить желаемый результат. Замените мои имена переменных на ваши:

final_df = pd.concat([df1.iloc[:,0:1], df2, df1.iloc[:,1:]], axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...