标签: crosstab

Crystal Reports交叉表

我是水晶报道的新手,所以这对你来说可能是新手.

我创建了一个交叉表,右边是行总计.如何添加额外列以显示行的平均值.我正在使用Crystal报告2008

以下是交叉表的粗略示例 - 如何插入Average列?谢谢

        New York   Chicago     Boston     Total       Average   
Run Code Online (Sandbox Code Playgroud)

销售总额

crosstab crystal-reports

5
推荐指数
2
解决办法
2万
查看次数

Sql Server 2008交叉表查询

我通常可以找出我的应用程序所需的任何SQL查询,但我最近被我需要创建的Cross Tab查询所困扰,并且想知道你是否可以提供帮助?

我有3张桌子

Category(catID, catTitle) 
Equipment(equipID, make, model, quantity, catID, siteID)
Site(siteID, title)
Run Code Online (Sandbox Code Playgroud)

我想创建一个Cross Tab查询来显示如下所示的结果集

Category   Site1   Site2   Site3   Site4   Site5
PC           2       0       10      3      6
Camera       12      4       2       0      8
Printer      3       2       1       1      2
Run Code Online (Sandbox Code Playgroud)

显示的数字表示每个站点中每个类别项目的总数,使用数量字段和设备表.我以前从未做过Cross Tab查询,而且我正在努力让这个工作.

sql crosstab sql-server-2008

5
推荐指数
1
解决办法
1万
查看次数

转置sql结果,使一列进入多列

我正试图从一个表格中获取特定格式的调查数据.但是我的所有尝试似乎都是因为DB上的连接太多/太重而无法提交数据库.

我的数据如下:

id, user, question_id, answer_id, 
1,   1,   1,           1
3,   1,   3,           15
4,   2,   1,           2
5,   2,   2,           12
6,   2,   3,           20
Run Code Online (Sandbox Code Playgroud)

大约有250,000行,每个用户大约有30行.我希望结果看起来像:

user0, q1, q2,   q3 
1,     1,  NULL, 15
2,     2,  12,   20 
Run Code Online (Sandbox Code Playgroud)

这样每个用户在结果中都有一行,每个用户每个答案都有一个单独的列.

我正在使用Postgres,但任何SQL语言的答案都会受到赞赏,因为我可以翻译成Postgres.

编辑:我还需要能够处理不回答问题的用户,即上面的示例q2用户1.

sql postgresql crosstab

5
推荐指数
1
解决办法
3141
查看次数

如何从hstore数据创建数据透视表?

想象一下,我有一辆带有现场数据的桌面车:

CARS
name  |  data
car 1 |  { "doors" => "5", "engine" => "1.1" }
car 2 |  { "doors" => "3", "engine" => "1.1", "air_conditioning" => "true" }
car 3 |  { "doors" => "5", "engine" => "1.4" }
Run Code Online (Sandbox Code Playgroud)

假设数据键是动态的(可以添加更多),我如何从这些数据创建一个数据透视表,如下所示:

CROSSTAB
name  |  doors  |  engine  |  air_conditioning
car 1 |  5      |  1.1     |
car 2 |  3      |  1.1     |  "true"
car 3 |  5      |  1.4     |
Run Code Online (Sandbox Code Playgroud)

postgresql pivot-table crosstab hstore

5
推荐指数
1
解决办法
248
查看次数

在R中创建双模频率矩阵

我有一个数据框,看起来像这样:

CASENO    Var1   Var2   Resp1   Resp2
1          1      0      1      1
2          0      0      0      0
3          1      1      1      1
4          1      1      0      1
5          1      0      1      0
Run Code Online (Sandbox Code Playgroud)

数据集中有400多个变量.这只是一个例子.我需要在R中创建一个简单的频率矩阵(不包括案例编号),但该table功能不起作用.具体来说,我希望将一部分列交叉制表以创建双模频率矩阵.该表应如下所示:

       Var1    Var2
Resp1    3       1
Resp2    3       2
Run Code Online (Sandbox Code Playgroud)

在Stata中,命令是:

gen var = 1 if Var1==1
replace var= 2 if Var2==1

gen resp = 1 if Resp1==1
replace resp = 2 if Resp2==1

tab var resp
Run Code Online (Sandbox Code Playgroud)

r frequency matrix crosstab stata

5
推荐指数
1
解决办法
231
查看次数

Pandas 交叉表 - 如何为数据集中不存在的值打印行/列?

我充其量是熊猫的初学者,我无法在任何地方找到解决此问题的方法。

假设我有两个变量:variable1、variable2。

它们可以具有以下预定义值:

variable1 = ['1', '4', '9', '15', '20']
variable2 = ['2', '5', '6']
Run Code Online (Sandbox Code Playgroud)

但是,当前数据集只有其中一些值:

df = pd.DataFrame({variable1 : ['1', '9', '20'],
                  variable2 : ['2', '2', '6']})
Run Code Online (Sandbox Code Playgroud)

交叉变量时:

pd.crosstab(df.variable1, df.variable2)
Run Code Online (Sandbox Code Playgroud)

我得到:

variable2  2  6
variable1      
1          1  0
20         0  1
9          1  0
Run Code Online (Sandbox Code Playgroud)

即使当前数据集没有所有可能的分类值,有没有办法将所有可能的分类值同时放在列和行中?目标是在使用更新的数据集运行脚本时获得相同大小的表,该数据集可能具有先前数据集中不存在的值。

python crosstab python-3.x pandas reindex

5
推荐指数
1
解决办法
9104
查看次数

Postgresql 将行转换为列

我有这个查询

select * from sales

       shop |    date    |    hour   | row_no | amount
 -----------+------------+-----------+--------+-----------
     shop_1 | 2012-08-14 | 00:08:00  | P01    | 10
     shop_2 | 2012-08-12 | 00:12:00  | O05    | 40
     shop_2 | 2012-08-12 | 00:12:00  | A01    | 20
Run Code Online (Sandbox Code Playgroud)

我有 100 万行,我可以做这个查询

select shop, SUM(amount) 
from sales 
group by shop

       shop |   amount   |    
 -----------+------------+
     shop_1 |   5666     |  
     shop_2 |   4044     |  
     shop_3     4044     | 
Run Code Online (Sandbox Code Playgroud)

但是我需要在专栏上度过几天,我不知道他们是否可以帮助我做到这一点

       shop |    2012-08-1    |    2012-08-2   | 2012-08-3 |
 -----------+------------+-----------+--------+-----------
     shop_1 …
Run Code Online (Sandbox Code Playgroud)

sql database postgresql pivot crosstab

5
推荐指数
1
解决办法
4323
查看次数

将表转换为单列值的单热编码

我有一个有两列的表:

+---------+--------+
| keyword | color  |
+---------+--------+
| foo     | red    |
| bar     | yellow |
| fobar   | red    |
| baz     | blue   |
| bazbaz  | green  |
+---------+--------+
Run Code Online (Sandbox Code Playgroud)

我需要在PostgreSQL中做一些单热编码和转换表来:

+---------+-----+--------+-------+------+
| keyword | red | yellow | green | blue |
+---------+-----+--------+-------+------+
| foo     |   1 |      0 |     0 |    0 |
| bar     |   0 |      1 |     0 |    0 |
| fobar   |   1 |      0 |     0 |    0 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql crosstab

5
推荐指数
1
解决办法
3657
查看次数

匹配第三列的一列上的交叉表

我正在尝试基于第三列匹配的一列进行交叉表.以示例数据为例:

df = pd.DataFrame({'demographic' : ['A', 'B', 'B', 'A', 'C', 'C'],
                'id_match' : ['101', '101', '201', '201', '26', '26'],
                'time' : ['10', '10', '16', '16', '1', '1']})
Run Code Online (Sandbox Code Playgroud)

其中id_match匹配我想要找到人口统计列的交叉表的时间总和.输出看起来像这样:

  A  B  C
A 0  52 0
B 52 0  0
C 0  0  2
Run Code Online (Sandbox Code Playgroud)

希望这是有道理的,如果没有评论.谢谢J

python crosstab dataframe python-3.x pandas

5
推荐指数
1
解决办法
73
查看次数

按唯一名称和状态以及最后一个日期分组

我想分析每辆汽车的统计数据,这些统计数据是修理的和新的。数据样本为:

Name   IsItNew    ControlDate
Car1    True      31/01/2018
Car2    True      28/02/2018
Car1    False     15/03/2018
Car2    True      16/04/2018
Car3    True      30/04/2018
Car2    False     25/05/2018
Car1    False     30/05/2018    
Run Code Online (Sandbox Code Playgroud)

因此,我应该groupby按名称命名,如果有Falsein IsItNew列,则应该设置,False以及第一个日期(False发生的时间)。

我尝试groupbynunique()

df = df.groupby(['Name','IsItNew', 'ControlDate' ])['Name'].nunique()
Run Code Online (Sandbox Code Playgroud)

但是,它返回每个组中唯一项的计数。

我怎样才能只接收分组的唯一项目而无任何计数?

Actual result is:

Name   IsItNew       ControlDate
Car1    True         31/01/2018     1
        False        15/03/2018     1
                     30/05/2018     1
Car2    True         28/02/2018     1
                     16/04/2018     1
        False        25/05/2018     1 
Car3    True         30/04/2018     1


Expected Result is:

Name …
Run Code Online (Sandbox Code Playgroud)

python group-by crosstab dataframe pandas

5
推荐指数
1
解决办法
78
查看次数