使用多个键完全连接2个词典

时间:2019-02-19 16:03:23

标签: python

我正在尝试使用2个键将两个字典完全连接在一起。将这些字典转换为pandas.df然后加入它们很容易,但是跳过熊猫有可能吗?     进口大熊猫     广告活动= pd.DataFrame.from_dict(广告系列)     hits = pd.DataFrame.from_dict(hits)

campaigns.merge(hits, left_on=['ga:dimension2',"ga:dimension3"], right_on=['ga:dimension2',"ga:dimension3"],
                suffixes=('_left', '_right')).to_dict('records')

样本数据:

campaigns = [{u'ga:dimension3': u'1550492375954.8nnxmpdd', u'ga:dimension2': u'1501276805.1534759748', u'ga:source': u'(direct)', u'ga:medium': u'(none)', u'ga:hits': u'2', u'ga:keyword': u'(not set)', u'ga:campaign': u'(not set)', u'ga:adContent': u'(not set)'}, 
{u'ga:dimension3': u'1550500044503.6jpvmy2e', u'ga:dimension2': u'1817297896.1550500046', u'ga:source': u'r-bloggers.com', u'ga:medium': u'referral', u'ga:hits': u'2', u'ga:keyword': u'(not set)', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550527874491.84pg1lz', u'ga:dimension2': u'1848009400.1550527875', u'ga:source': u'r-bloggers.com', u'ga:medium': u'referral', u'ga:hits': u'3', u'ga:keyword': u'(not set)', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550499631285.9g1avnsc', u'ga:dimension2': u'189390412.1550499632', u'ga:source': u'r-bloggers.com', u'ga:medium': u'referral', u'ga:hits': u'4', u'ga:keyword': u'(not set)', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:source': u'r-bloggers.com', u'ga:medium': u'referral', u'ga:hits': u'21', u'ga:keyword': u'(not set)', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550465729892.i15lr464', u'ga:dimension2': u'1915099935.1550465730', u'ga:source': u'google', u'ga:medium': u'organic', u'ga:hits': u'2', u'ga:keyword': u'(not provided)', u'ga:campaign': u'(not set)', u'ga:adContent': u'(not set)'}, 
{u'ga:dimension3': u'1550499634190.gt8w9mi', u'ga:dimension2': u'2106610830.1550499634', u'ga:source': u'(direct)', u'ga:medium': u'(none)', u'ga:hits': u'2', u'ga:keyword': u'(not set)', u'ga:campaign': u'(not set)', u'ga:adContent': u'(not set)'}, 
{u'ga:dimension3': u'1550502969449.c9oge8og', u'ga:dimension2': u'282433453.1550502969', u'ga:source': u'r-bloggers.com', u'ga:medium': u'referral', u'ga:hits': u'4', u'ga:keyword': u'(not set)', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550479016552.y7otbq7s', u'ga:dimension2': u'false', u'ga:source': u'r-bloggers.com', u'ga:medium': u'referral', u'ga:hits': u'2', u'ga:keyword': u'(not set)', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550498136767.12cy6eqh', u'ga:dimension2': u'false', u'ga:source': u'r-bloggers.com', u'ga:medium': u'referral', u'ga:hits': u'6', u'ga:keyword': u'(not set)', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550518049930.ekbtg21t', u'ga:dimension2': u'false', u'ga:source': u'r-bloggers.com', u'ga:medium': u'referral', u'ga:hits': u'6', u'ga:keyword': u'(not set)', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550524951056.e0npeo37', u'ga:dimension2': u'false', u'ga:source': u'r-bloggers.com', u'ga:medium': u'referral', u'ga:hits': u'2', u'ga:keyword': u'(not set)', u'ga:campaign': u'blogpost', u'ga:adContent': u'pic'}]

hits = [{u'ga:hits': u'1', u'ga:dimension3': u'1550502969449.c9oge8og', u'ga:dimension2': u'282433453.1550502969', u'ga:dimension1': u'2019-02-18T08:16:09.449-07:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550479016552.y7otbq7s', u'ga:dimension2': u'false', u'ga:dimension1': u'2019-02-18T09:36:56.552+01:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550492375954.8nnxmpdd', u'ga:dimension2': u'1501276805.1534759748', u'ga:dimension1': u'2019-02-18T13:19:35.954+01:00', u'ga:pagePath': u'/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550498136767.12cy6eqh', u'ga:dimension2': u'false', u'ga:dimension1': u'2019-02-18T14:55:36.766+01:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550465729892.i15lr464', u'ga:dimension2': u'1915099935.1550465730', u'ga:dimension1': u'2019-02-18T15:55:29.891+11:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550527874491.84pg1lz', u'ga:dimension2': u'1848009400.1550527875', u'ga:dimension1': u'2019-02-18T17:11:14.490-05:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550518049930.ekbtg21t', u'ga:dimension2': u'false', u'ga:dimension1': u'2019-02-18T20:27:29.930+01:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550499631285.9g1avnsc', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:20:31.284+08:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550499631285.9g1avnsc', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:20:31.426+08:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550499634190.gt8w9mi', u'ga:dimension2': u'2106610830.1550499634', u'ga:dimension1': u'2019-02-18T22:20:34.189+08:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:22:11.668+08:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550524951056.e0npeo37', u'ga:dimension2': u'false', u'ga:dimension1': u'2019-02-18T22:22:31.54+01:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:26:01.219+08:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:27:20.303+08:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:27:24.351+08:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550500044503.6jpvmy2e', u'ga:dimension2': u'1817297896.1550500046', u'ga:dimension1': u'2019-02-18T22:27:24.502+08:00', u'ga:pagePath': u'/shiny/shinyggplot/'}, 
{u'ga:hits': u'1', u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:30:24.440+08:00', u'ga:pagePath': u'/shiny/shinyggplot/'}]

预期输出:

[{u'ga:dimension3': u'1550492375954.8nnxmpdd', u'ga:dimension2': u'1501276805.1534759748', u'ga:dimension1': u'2019-02-18T13:19:35.954+01:00', u'ga:source': u'(direct)', 'ga:hits_right': u'1', u'ga:pagePath': u'/', u'ga:medium': u'(none)', u'ga:keyword': u'(not set)', 'ga:hits_left': u'2', u'ga:campaign': u'(not set)', u'ga:adContent': u'(not set)'}, 
{u'ga:dimension3': u'1550500044503.6jpvmy2e', u'ga:dimension2': u'1817297896.1550500046', u'ga:dimension1': u'2019-02-18T22:27:24.502+08:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'2', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550527874491.84pg1lz', u'ga:dimension2': u'1848009400.1550527875', u'ga:dimension1': u'2019-02-18T17:11:14.490-05:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'3', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550499631285.9g1avnsc', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:20:31.284+08:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'4', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550499631285.9g1avnsc', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:20:31.426+08:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'4', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:22:11.668+08:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'21', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:26:01.219+08:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'21', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:27:20.303+08:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'21', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:27:24.351+08:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'21', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550500224440.t711ujn', u'ga:dimension2': u'189390412.1550499632', u'ga:dimension1': u'2019-02-18T22:30:24.440+08:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'21', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550465729892.i15lr464', u'ga:dimension2': u'1915099935.1550465730', u'ga:dimension1': u'2019-02-18T15:55:29.891+11:00', u'ga:source': u'google', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'organic', u'ga:keyword': u'(not provided)', 'ga:hits_left': u'2', u'ga:campaign': u'(not set)', u'ga:adContent': u'(not set)'}, 
{u'ga:dimension3': u'1550499634190.gt8w9mi', u'ga:dimension2': u'2106610830.1550499634', u'ga:dimension1': u'2019-02-18T22:20:34.189+08:00', u'ga:source': u'(direct)', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'(none)', u'ga:keyword': u'(not set)', 'ga:hits_left': u'2', u'ga:campaign': u'(not set)', u'ga:adContent': u'(not set)'}, 
{u'ga:dimension3': u'1550502969449.c9oge8og', u'ga:dimension2': u'282433453.1550502969', u'ga:dimension1': u'2019-02-18T08:16:09.449-07:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'4', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550479016552.y7otbq7s', u'ga:dimension2': u'false', u'ga:dimension1': u'2019-02-18T09:36:56.552+01:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'2', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550498136767.12cy6eqh', u'ga:dimension2': u'false', u'ga:dimension1': u'2019-02-18T14:55:36.766+01:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'6', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550518049930.ekbtg21t', u'ga:dimension2': u'false', u'ga:dimension1': u'2019-02-18T20:27:29.930+01:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'6', u'ga:campaign': u'blogpost', u'ga:adContent': u'text'}, 
{u'ga:dimension3': u'1550524951056.e0npeo37', u'ga:dimension2': u'false', u'ga:dimension1': u'2019-02-18T22:22:31.54+01:00', u'ga:source': u'r-bloggers.com', 'ga:hits_right': u'1', u'ga:pagePath': u'/shiny/shinyggplot/', u'ga:medium': u'referral', u'ga:keyword': u'(not set)', 'ga:hits_left': u'2', u'ga:campaign': u'blogpost', u'ga:adContent': u'pic'}]

1 个答案:

答案 0 :(得分:0)

我会试一试。希望我理解得很好,但是如果两个字典中对应于这些键的值相等,那么您希望合并多个键。

prepopulated_fields = {'slug': ('title',), }
相关问题