python 平均分组_在python中基于特定列对行进行分组和求平均值-rephrase

该博客讲述了如何在Python中读取TSV文件,并基于最后一列的分组对第4列的值进行平均计算。作者提供了预期的输出格式,并展示了在Python 2.7中尝试实现这一操作的代码片段。
摘要由CSDN通过智能技术生成

tab separated

像这样的文件:

chr1 9507728 9517729 0 chr1 9507728 9517729 5S_rRNA

chr1 9537731 9544392 0 chr1 9537731 9547732 5S_rRNA

chr1 9497727 9507728 0 chr1 9497727 9507728 5S_rRNA

chr1 9517729 9527730 0 chr1 9517729 9527730 5S_rRNA

chr8 1118560 1118591 1 chr8 1112435 1122474 AK128400

chr8 1118591 1121351 0 chr8 1112435 1122474 AK128400

chr8 1121351 1121382 1 chr8 1112435 1122474 AK128400

chr8 1132513 1142552 0 chr8 1132513 1142552 AK128400

chr19 53436277 53446295 0 chr19 53436277 53446295 AK128361

chr19 53456313 53465410 0 chr19 53456313 53466331 AK128361

chr19 53465410 53465441 1 chr19 53456313 53466331 AK128361

chr19 53466331 53476349 0 chr19 53466331 53476349 AK128361

根据最后一列,有3个组,每个组有4行。根据第4列的值,我想得到每组第一行、每组第二行、每组第三行和每组第四行的平均值。因此,在预期的输出中,我将有4行(因为每个组有4行)和2列。第一列是ID,在本例中有1、2、3和4。第二列是我提到的应该如何计算的平均值。

expected output

:

1 0.33

2 0

3 0.66

4 0

我尝试在python 2.7中使用以下命令执行此操作:

file = open('myfile.txt', 'r')

average = []

for i in file:

ave = i[3]/3

average.append(ave)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值