小编Har*_*ish的帖子

查询失败错误:查询执行期间超出了资源:无法在分配的内存中执行查询

我正在使用标准SQL,即使它是基本查询,它仍然会引发错误。任何建议请

SELECT 
  fullVisitorId,
  CONCAT(CAST(fullVisitorId AS string),CAST(visitId AS string)) AS session,
  date,
  visitStartTime,
  hits.time,
  hits.page.pagepath
FROM
  `XXXXXXXXXX.ga_sessions_*`,
  UNNEST(hits) AS hits
WHERE
  _TABLE_SUFFIX BETWEEN "20160801"
  AND "20170331"
ORDER BY
  fullVisitorId,
  date,
  visitStartTime
Run Code Online (Sandbox Code Playgroud)

bigdata google-bigquery bigquery-standard-sql

6
推荐指数
1
解决办法
5578
查看次数

Python数据帧:在同一列上进行透视

我有两列"ID"和"division",如下所示.

df = pd.DataFrame(np.array([['111', 'AAA'],['222','AAA'],['333','BBB'],['444','CCC'],['444','AAA'],['222','BBB'],['111','BBB']]),columns=['ID','division'])

    ID  division
0   111 AAA
1   222 AAA
2   333 BBB
3   444 CCC
4   444 AAA
5   222 BBB
6   111 BBB
Run Code Online (Sandbox Code Playgroud)

预期的输出如下所示,我需要在同一列上进行旋转,但计数取决于"除法".这应该在热图中显示.

    df = pd.DataFrame(np.array([['0','2','1','1'],['2','0','1','1'],['1','1','0','0'],['1','1','0','0']]),columns=['111','222','333','444'],index=['111','222','333','444'])

    111 222 333 444
111 0   2   1   1
222 2   0   1   1
333 1   1   0   0
444 1   1   0   0
Run Code Online (Sandbox Code Playgroud)

所以,从技术上讲,我在ID之间就分裂做了重叠.

示例:突出显示的框为红色,其中111和222 ID之间的重叠为2(AAA和BBB).其中111和444之间的重叠是1(黑框中突出显示AAA).

在此输入图像描述

我可以通过两个步骤在excel中做到这一点.不确定是否有一个帮助.Step1:= SUM(COUNTIFS($B$2:$B$8,$B2,$A$2:$A$8,$G2),COUNTIFS($B$2:$B$8,$B2,$A$2:$A$8,H$1))-1 Step2:=IF($G12=H$1,0,SUMIFS(H$2:H$8,$G$2:$G$8,$G12))

但有没有办法我们可以使用数据框在Python中完成它.感谢您的帮助

案例2

if df = pd.DataFrame(np.array([['111', 'AAA','4'],['222','AAA','5'],['333','BBB','6'],
                            ['444','CCC','3'],['444','AAA','2'], ['222','BBB','2'],
                            ['111','BBB','7']]),columns=['ID','division','count'])

   ID   division count
0   111  AAA      4 …
Run Code Online (Sandbox Code Playgroud)

python dataframe python-3.x pandas

3
推荐指数
1
解决办法
311
查看次数