在数据框上使用聚合

用户名

我有以下数据框,我需要对值中列出的特定列使用聚合函数。我正在使用来自熊猫的数据透视表。

 Sample ID  Type    Score   Freq
AE01    AAA Non 0.65    1
AE01    BBB IND 0.57    14
AE03    SAS IND 0.56    14
AE03    SAP IND 0.689   15
AE03    TCS IND 0.56    16
AE05    BBB IND 0.85    17
AE05    CTC IND 0.45    18
AE05    CTC Non 0.15    19
AE05    CTC Non 0.14    20
AE05    CTC Non 0.4678  21

以下是我为此使用的脚本,

table_pat_rel = pd.pivot_table(df,index=["ID",'Type'],values=['Sample'],
               aggfunc={'Sample':np.size})

给出以下输出,

ID  Type    Sample
AAA Non 1
BBB IND 2
SAS IND 1
SAP IND 1
TCS IND 1
CTC IND 5

但我的目标是跟随输出,

ID  Recurrence  Sample
AAA 1   AE01
BBB 2   AE01 
        AE05
SAS 1   AE03
SAP 1   AE03
TCS 1   AE03
CTC 4   AE05

我尝试了groupby如下

 df.drop_duplicates(['Sample', 'ID']).groupby(['ID','Sample']).size().sort_values(ascending=True).head()
耶斯列尔

数据:

df = pd.DataFrame(
{'Score': [0.65, 0.57, 0.56, 0.689, 0.56, 0.85, 0.45, 0.15, 0.14, 0.4678], 
'ID': ['AAA', 'BBB', 'SAS', 'SAP', 'TCS', 'BBB', 'CTC', 'CTC', 'CTC', 'CTC'], 
'Sample': ['AE01', 'AE01', 'AE03', 'AE03', 'AE03', 'AE05', 'AE05', 'AE05', 'AE05', 'AE05'], 
'Freq': [1, 14, 14, 15, 16, 17, 18, 19, 20, 21], 
'Type': ['Non', 'IND', 'IND', 'IND', 'IND', 'IND', 'IND', 'IND', 'IND', 'IND']},
columns=['Sample','ID','Type','Score','Freq'])
print (df)
  Sample   ID Type   Score  Freq
0   AE01  AAA  Non  0.6500     1
1   AE01  BBB  IND  0.5700    14
2   AE03  SAS  IND  0.5600    14
3   AE03  SAP  IND  0.6890    15
4   AE03  TCS  IND  0.5600    16
5   AE05  BBB  IND  0.8500    17
6   AE05  CTC  IND  0.4500    18
7   AE05  CTC  IND  0.1500    19
8   AE05  CTC  IND  0.1400    20
9   AE05  CTC  IND  0.4678    21

orig = pd.pivot_table(df,index=["ID",'Type'],values=['Sample'],
               aggfunc={'Sample':np.size})

print (orig)
          Sample
ID  Type        
AAA Non        1
BBB IND        2
CTC IND        4
SAP IND        1
SAS IND        1
TCS IND        1

我认为您需要swapSampleType,而不是values=['Sample']use values=['Freq'],但是您似乎可以使用其他一些不用于的列index,因为use aggfunc=len(与相同aggfunc='size'

table_pat_rel1 = pd.pivot_table(df,index=["ID",'Sample'],values=['Freq'],aggfunc=len) \
                  .reset_index(level=1) \
                  .rename(columns={'Freq':'Recurrence'}) \
                  .set_index('Recurrence', append=True)
print (table_pat_rel1)
               Sample
ID  Recurrence       
AAA 1            AE01
BBB 1            AE01
    1            AE05
CTC 4            AE05
SAP 1            AE03
SAS 1            AE03
TCS 1            AE03

groupby与聚合一起使用size

table_pat_rel2 = df.groupby(['ID','Sample']) \
                   .size() \
                   .reset_index(level=1) \
                   .rename(columns={0:'Recurrence'}) \
                   .set_index('Recurrence', append=True)

print (table_pat_rel2)
               Sample
ID  Recurrence       
AAA 1            AE01
BBB 1            AE01
    1            AE05
CTC 4            AE05
SAP 1            AE03
SAS 1            AE03
TCS 1            AE03

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数据框上使用ipywidgets SelectMultiple

来自分类Dev

在具有名称的数据框上使用R聚合函数

来自分类Dev

在数据框上使用布尔选择会导致KeyError

来自分类Dev

不能再在数据框上使用sqldf(sqliteExecStatement中的错误)

来自分类Dev

熊猫在数据框上滚动

来自分类Dev

在数据框上移动列

来自分类Dev

在数据框中使用数据透视/聚合

来自分类Dev

选定行在Pandas数据框上的聚合

来自分类Dev

在数据框上应用条件lambda语句

来自分类Dev

在数据框上找到特定的单词

来自分类Dev

在数据框上设置唯一索引

来自分类Dev

R在数据框上应用功能

来自分类Dev

如何在数据框上应用函数

来自分类Dev

在数据框上添加一列

来自分类Dev

在数据框上使用Apply时如何避免隐式字符转换

来自分类Dev

使用熊猫在数据框上进行按列映射和操作

来自分类Dev

在数据框上使用Apply时访问上一行

来自分类Dev

添加新列后,我尝试在数据框上使用groupBy,但遇到任务TaskNotSerializable问题

来自分类Dev

在数据框上使用groupby和lambda函数时保留NaN值

来自分类Dev

R-在数据框上使用ungroup()会破坏我的功能吗?

来自分类Dev

即使在使用从数据框派生的索引列表时,在数据框上使用iloc也会给我带来无限的错误

来自分类Dev

R在数据框上循环以创建新的数据框

来自分类Dev

“条件的长度> 1,并且将仅使用第一个元素”在数据框上嵌套“ if else”的警告

来自分类Dev

在数据框上使用 lappy() 函数后,列名会发生变化,如何防止这种情况发生?

来自分类Dev

具有date参数的函数以在数据框上运行

来自分类Dev

如何通过value_counts()在数据框上创建列

来自分类Dev

在数据框上创建多索引以执行PanelOLS

来自分类Dev

根据列在数据框上添加组计数器

来自分类Dev

使用SQL Server 2008 R2在数据透视表查询中的聚合函数

Related 相关文章

  1. 1

    在数据框上使用ipywidgets SelectMultiple

  2. 2

    在具有名称的数据框上使用R聚合函数

  3. 3

    在数据框上使用布尔选择会导致KeyError

  4. 4

    不能再在数据框上使用sqldf(sqliteExecStatement中的错误)

  5. 5

    熊猫在数据框上滚动

  6. 6

    在数据框上移动列

  7. 7

    在数据框中使用数据透视/聚合

  8. 8

    选定行在Pandas数据框上的聚合

  9. 9

    在数据框上应用条件lambda语句

  10. 10

    在数据框上找到特定的单词

  11. 11

    在数据框上设置唯一索引

  12. 12

    R在数据框上应用功能

  13. 13

    如何在数据框上应用函数

  14. 14

    在数据框上添加一列

  15. 15

    在数据框上使用Apply时如何避免隐式字符转换

  16. 16

    使用熊猫在数据框上进行按列映射和操作

  17. 17

    在数据框上使用Apply时访问上一行

  18. 18

    添加新列后,我尝试在数据框上使用groupBy,但遇到任务TaskNotSerializable问题

  19. 19

    在数据框上使用groupby和lambda函数时保留NaN值

  20. 20

    R-在数据框上使用ungroup()会破坏我的功能吗?

  21. 21

    即使在使用从数据框派生的索引列表时,在数据框上使用iloc也会给我带来无限的错误

  22. 22

    R在数据框上循环以创建新的数据框

  23. 23

    “条件的长度> 1,并且将仅使用第一个元素”在数据框上嵌套“ if else”的警告

  24. 24

    在数据框上使用 lappy() 函数后,列名会发生变化,如何防止这种情况发生?

  25. 25

    具有date参数的函数以在数据框上运行

  26. 26

    如何通过value_counts()在数据框上创建列

  27. 27

    在数据框上创建多索引以执行PanelOLS

  28. 28

    根据列在数据框上添加组计数器

  29. 29

    使用SQL Server 2008 R2在数据透视表查询中的聚合函数

热门标签

归档