ToB企服应用市场:ToB评测及商务社交产业平台

标题: SQL中的聚合方法与Pandas的对应关系 [打印本页]

作者: 小小小幸运    时间: 2024-8-17 17:36
标题: SQL中的聚合方法与Pandas的对应关系
在SQL和Pandas中,聚合方法是用来对数据进行汇总统计的重要工具。下面是SQL中的各种聚合方法及其与Pandas中相应利用的对应关系:
1. COUNT


2. SUM


3. AVG / AVERAGE


4. MIN


5. MAX


6. GROUP BY


7. DISTINCT


8. HAVING


示例代码

假设我们有一个DataFrame df,我们将演示这些聚合利用:
  1. import pandas as pd
  2. # 创建示例 DataFrame
  3. data = {
  4.     'category': ['A', 'B', 'A', 'B', 'A', 'B'],
  5.     'value': [10, 20, 30, 40, 50, 60]
  6. }
  7. df = pd.DataFrame(data)
  8. # COUNT
  9. count_result = df['category'].count()
  10. print("COUNT:")
  11. print(count_result)
  12. # SUM
  13. sum_result = df['value'].sum()
  14. print("\nSUM:")
  15. print(sum_result)
  16. # AVG / AVERAGE
  17. avg_result = df['value'].mean()
  18. print("\nAVG:")
  19. print(avg_result)
  20. # MIN
  21. min_result = df['value'].min()
  22. print("\nMIN:")
  23. print(min_result)
  24. # MAX
  25. max_result = df['value'].max()
  26. print("\nMAX:")
  27. print(max_result)
  28. # GROUP BY
  29. grouped_df = df.groupby('category').agg({'value': ['sum', 'mean', 'min', 'max']})
  30. print("\nGROUP BY:")
  31. print(grouped_df)
  32. # DISTINCT
  33. unique_categories = df['category'].unique()
  34. print("\nDISTINCT:")
  35. print(unique_categories)
  36. # HAVING
  37. threshold = 50
  38. filtered_df = df.groupby('category').filter(lambda x: x['value'].sum() > threshold)
  39. print("\nHAVING:")
  40. print(filtered_df)
复制代码
输出示例

假设DataFrame如下所示:
  1.   category  value
  2. 0        A     10
  3. 1        B     20
  4. 2        A     30
  5. 3        B     40
  6. 4        A     50
  7. 5        B     60
复制代码
输出结果将会是:
  1. COUNT:
  2. 6
  3. SUM:
  4. 210
  5. AVG:
  6. 35.0
  7. MIN:
  8. 10
  9. MAX:
  10. 60
  11. GROUP BY:
  12.          value        
  13.          sum mean min max
  14. category                 
  15. A           90  30.0  10  50
  16. B          120  40.0  20  60
  17. DISTINCT:
  18. ['A' 'B']
  19. HAVING:
  20.   category  value
  21. 0        A     10
  22. 2        A     30
  23. 4        A     50
  24. 1        B     20
  25. 3        B     40
  26. 5        B     60
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4