pivot 相关问题

PIVOT语法将行数据转换为列数据,反之亦然,用于UNPIVOT语法。并非所有数据库都支持PIVOT语法,但通常可以使用决策逻辑(CASE语句等)和聚合函数来实现功能。

Mysql 将列转换为行(数据透视表)

我有一张这样的桌子 ID 月 第 1 列 列2 第 3 列 第 4 列 101 扬 A 乙 无效的 乙 102 二月 C A G 乙 然后我想创建这样的报告 描述 一月 二月 第 1 列 A C 列2 乙 A 第 3 列 0 G 第4栏 乙 乙 可以...

回答 4 投票 0

使用 SQL(雪花)旋转表的列

我有 3 个表需要连接,最终结果是某些列的枢轴。 情况如下: 表格1 ID A列 B栏 列_C COLUMN_G 栏 NN_COLUMN_H NN_COLUMN_I 1 10 ...

回答 1 投票 0

当我的数据集(在 R 中)的第一行条目有数年时间时,如何才能旋转更长时间

鉴于我的第一行是年份,如何使用 R 转换数据。我想创建一个新的专栏。 我无法使用数据透视函数,因为我的数据没有存储在另一列中,但是

回答 2 投票 0

将多列拆分为行 - 多索引

我有一个如下所示的带有多索引的数据框 mx_dict = pd.read_excel('ABC Bookings.xlsx', header=[1,2],sheet_name=None) Excel 文件(如果有用):Excel 文件 mx = pd.concat(mx_dict.values(),...

回答 1 投票 0

将一列的唯一值扩展为多列,适用于 DataFrame 中的 X 列

我需要将DataFrame转换为以下形状: 将 pandas 导入为 pd 将 numpy 导入为 np df = pd.DataFrame({ 'foo': ['一', '一', '一', '二', '二', '二', '三', '三', '三'], ...

回答 1 投票 0

ag-grid 枢轴总列默认打开

我在ag-grid中有数据透视表,我已启用gridOptions.pivotColumnGroupTotals = after。 但默认设置是为组总计折叠其他值。 有没有办法让这个...

回答 2 投票 0

带串联的动态枢轴

应如何修改 SQL 以将文本“Name”连接到列标题和透视数据的 2 个名称字段中? 我有这样的表: UmpID 第N个 最后N个 年龄 1 A H J 2 乙 我 S 3 C J A 4 D K J...

回答 1 投票 0

在sql server中高效地将行转换为列

我正在寻找一种在SQL Server中将行转换为列的有效方法,我听说PIVOT不是很快,而且我需要处理大量记录。 这是我的例子: ID 价值 列名 1 J...

回答 5 投票 0

如何在Python Polars中分解列表列并按比例分割整数列?

我有一个数据集,其中包含项目类型和每个项目的数量,但项目类型列的某些行包含类型列表而不是单一类型。我要爆列一下...

回答 1 投票 0

使用PDO和MYSQL来比较行并切换到列

我有一个产品表、一个印记表、一个制造商表和一个成分表 - 以及其他表。 我当前正在生成信息并使用所谓的“file_name”作为...

回答 1 投票 0

类似 TextJoin 的函数基于 SQL 中的条件

尝试弄清楚是否可以根据条件在 SQL 中执行类似文本连接的函数。现在我能想到的唯一方法是运行一个枢轴来制作列的行......

回答 3 投票 0

如何通过匹配 R 中所有可能的组合来将多列从宽转为长?

我找到了这个案例和另一个案例,但它们并没有完全回答我的问题。 输入数据采用宽格式: 数据0 # 小题:5 × 6 id GP a1 a2 a3 a4 我发现了这个案例和这个其他,但他们并没有完全回答我的问题。 输入数据采用宽格式: dat0 # A tibble: 5 × 6 id gp a1 a2 a3 a4 <dbl> <chr> <dbl> <dbl> <dbl> <dbl> 1 1 A 2 10 150 1000 2 2 B 4 20 200 3000 3 3 C 7 30 350 4000 4 4 D 8 40 400 7000 5 5 E 9 50 700 8000 dat0 <- structure(list(id = c(1, 2, 3, 4, 5), gp = c("A", "B", "C", "D", "E"), a1 = c(2, 4, 7, 8, 9), a2 = c(10, 20, 30, 40, 50), a3 = c(150, 200, 350, 400, 700), a4 = c(1000, 3000, 4000, 7000, 8000)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -5L)) 如何将多列旋转为两列 ax 和 ay,以便: 表示初始列 a1 到 a4 的所有组合, 最初的两个列(此处为 id 和 gp,作为示例)被复制尽可能多的组合, 创建一个新列ax_vs_ay来对组合进行分类。 所需的输出数据: print(dat1, n=30) # A tibble: 30 × 5 id gp ax_vs_ay ax ay <dbl> <chr> <chr> <dbl> <dbl> 1 1 A a1_vs_a2 2 10 2 2 B a1_vs_a2 4 20 3 3 C a1_vs_a2 7 30 4 4 D a1_vs_a2 8 40 5 5 E a1_vs_a2 9 50 6 1 A a1_vs_a3 2 150 7 2 B a1_vs_a3 4 200 8 3 C a1_vs_a3 7 350 9 4 D a1_vs_a3 8 400 10 5 E a1_vs_a3 9 700 11 1 A a1_vs_a4 2 1000 12 2 B a1_vs_a4 4 3000 13 3 C a1_vs_a4 7 4000 14 4 D a1_vs_a4 8 7000 15 5 E a1_vs_a4 9 8000 16 1 A a2_vs_a3 10 150 17 2 B a2_vs_a3 20 200 18 3 C a2_vs_a3 30 350 19 4 D a2_vs_a3 40 400 20 5 E a2_vs_a3 50 700 21 1 A a2_vs_a4 10 1000 22 2 B a2_vs_a4 20 3000 23 3 C a2_vs_a4 30 4000 24 4 D a2_vs_a4 40 7000 25 5 E a2_vs_a4 50 8000 26 1 A a3_vs_a4 150 1000 27 2 B a3_vs_a4 200 3000 28 3 C a3_vs_a4 350 4000 29 4 D a3_vs_a4 400 7000 30 5 E a3_vs_a4 700 8000 感谢您的帮助 请原谅我不太精通dplyr,但我希望它能有所帮助 dat0 %>% pivot_longer(!c(id, gp)) %>% reframe( ax_vs_ay = combn(name, 2, paste0, collapse = "_vs_"), value = combn(value, 2, \(x) setNames(data.frame(t(x)), paste0("a", c("x", "y"))), simplify = FALSE), .by = c(id, gp) ) %>% unnest(value) 这给出了 # A tibble: 30 × 5 id gp ax_vs_ay ax ay <dbl> <chr> <chr[1d]> <dbl> <dbl> 1 1 A a1_vs_a2 2 10 2 1 A a1_vs_a3 2 150 3 1 A a1_vs_a4 2 1000 4 1 A a2_vs_a3 10 150 5 1 A a2_vs_a4 10 1000 6 1 A a3_vs_a4 150 1000 7 2 B a1_vs_a2 4 20 8 2 B a1_vs_a3 4 200 9 2 B a1_vs_a4 4 3000 10 2 B a2_vs_a3 20 200 11 2 B a2_vs_a4 20 3000 12 2 B a3_vs_a4 200 3000 13 3 C a1_vs_a2 7 30 14 3 C a1_vs_a3 7 350 15 3 C a1_vs_a4 7 4000 16 3 C a2_vs_a3 30 350 17 3 C a2_vs_a4 30 4000 18 3 C a3_vs_a4 350 4000 19 4 D a1_vs_a2 8 40 20 4 D a1_vs_a3 8 400 21 4 D a1_vs_a4 8 7000 22 4 D a2_vs_a3 40 400 23 4 D a2_vs_a4 40 7000 24 4 D a3_vs_a4 400 7000 25 5 E a1_vs_a2 9 50 26 5 E a1_vs_a3 9 700 27 5 E a1_vs_a4 9 8000 28 5 E a2_vs_a3 50 700 29 5 E a2_vs_a4 50 8000 30 5 E a3_vs_a4 700 8000

回答 1 投票 0

Python Pandas 中的从长到宽类似于 IBM SPSS 数据将案例重组为变量

我想要重新排列数据集中的相关案例组,以便由数字和非数字数据组成的数据在结果数据框中表示为单个案例。

回答 1 投票 0

group_by 和pivot_wider 组合

我有一个包含三列的数据框: 响应 ID = c(rep("123xyz", 6),rep("456abc", 6),rep("789def", 6)) 年 = c(代表(2022, 6), c(代表(2021, 6), c(代表(2022, 6)) 合作...

回答 3 投票 0

如何计算数据透视表中多列的总和? [重复]

我有这张旋转桌子。 SCORE 无信息正确 not_ Correct 时间 2023-03-31 3 5 6 2023-04-30 ...

回答 1 投票 0

使用文本列透视 SQL 表[重复]

我在 SQL Server 中有一个简单的表,如下所示。 创建表化学品( [化学] [varchar](10) NULL, [区域] [varchar](10) NULL, [资产] [varchar](10) NULL ) 关于 [主要] 插入:

回答 1 投票 0

通过使用 CASE 来执行类似于 PIVOT 的操作?

我有一个名为“typetxt”的列,其中包含“迟到原因”和“注释”(以及我不关心的其他值)。我当前的查询有一个 case 语句,仅选择“迟到原因”和“注释”并设置

回答 1 投票 0

查询映射列

下面的查询给出了过去季度的得分、当前得分和当前季度的输出。 SELECT 最大(1, 最小(5, 分数)) AS past_score, 最大(1,最小(5,curr_score))AS

回答 1 投票 0

如何使用pivot_longer和/或pivot_wider来重组我的数据?

我有以下数据: 数据 <- tribble( ~name, ~current_hit, ~future_hit, ~current_raw_power, ~future_raw_power, ~current_game_power, ~future_game_power, "Jackson Hol...

回答 1 投票 0

如何按组进行透视_更广泛并将每个表导出为csv,同时删除R中具有单个值的空列和行?

让我们考虑下面的数据帧 dat0。 使用pivot_wider,我可以将其转置到 dat1 表中,然后为每组生物标记导出 csv(链接): 数据 1 <- pivot_wider(dat0, names_from =

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.