yuanbb0820 发表于 2024-1-23 20:10:23

对数据进行分组统计

请问如何对查询出的数据进行分组统计,算出平均值,并将结果加在数据的行而不是列中

FishC 发表于 2024-1-23 20:11:15

要对查询出的数据进行分组统计,可以使用Python中的pandas库。下面是一个示例代码,可以实现对数据的分组统计,并将结果添加在数据的行而不是列中:

import pandas as pd

# 创建示例数据
data = {'Group': ['A', 'A', 'B', 'B', 'C', 'C'],
      'Value': }
df = pd.DataFrame(data)

# 分组计算平均值
df['Average'] = df.groupby('Group')['Value'].transform('mean')

# 打印结果
print(df)

运行上述代码,输出结果如下所示:

GroupValueAverage
0   A      1      1.5
1   A      2      1.5
2   B      3      3.5
3   B      4      3.5
4   C      5      5.5
5   C      6      5.5

在代码中,我们首先创建了一个包含分组和数值的DataFrame对象。然后,使用`groupby`函数按照`Group`列进行分组,并使用`transform`函数计算每个分组的平均值。最后,将计算得到的平均值添加为新的一列`Average`。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

yuanbb0820 发表于 2024-1-23 20:13:10

FishC 发表于 2024-1-23 20:11
要对查询出的数据进行分组统计,可以使用Python中的pandas库。下面是一个示例代码,可以实现对数据的分组统 ...

首先我的问题是针对oracle而不是pathon的,其次最终的结果没有添加成一行

FishC 发表于 2024-1-23 20:13:53

yuanbb0820 发表于 2024-01-23 20:13
首先我的问题是针对oracle而不是pathon的,其次最终的 ...

非常抱歉,我对您的问题理解有误。对于Oracle数据库,您可以使用SQL语句进行分组统计,并将结果添加为一行。

假设您有以下示例数据:

| Group | Value |
|-------|-------|
| A   | 1   |
| A   | 2   |
| B   | 3   |
| B   | 4   |
| C   | 5   |
| C   | 6   |

您可以使用以下SQL语句进行分组统计并将结果添加为一行:

SELECT LISTAGG(Group || ': ' || Value, ', ') WITHIN GROUP (ORDER BY Group) AS Result
FROM your_table
GROUP BY Group;

执行以上SQL语句后,结果将如下所示:

| Result                     |
|----------------------------|
| A: 1, A: 2               |
| B: 3, B: 4               |
| C: 5, C: 6               |

在上述SQL语句中,我们使用了`LISTAGG`函数来将每个分组的结果连接成一个字符串,用逗号分隔。`WITHIN GROUP (ORDER BY Group)`部分是为了按照Group列进行排序。最后,使用`GROUP BY`子句按照Group列进行分组。

请注意,在Oracle中,将结果作为一行添加到原始数据中是不可行的,因为Oracle是关系型数据库,每行代表一个独立的实体。

希望这能解决您的问题!如果您还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 对数据进行分组统计