使用数据帧列作为范围的开始和结束来计算另一个数据帧列的平均值

2024-09-28 05:19:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧,一个包含起始行和结束行ID,另一个包含我想要计算这些坐标之间所有行的平均值的数据帧

第一个数据帧:

^{tb1}$

第二数据帧:

^{tb2}$

我已设法在新数据框“average_exon_coverage”(平均外显子覆盖率)中创建了一列,并尝试计算起始位置和结束位置的平均值,但我不确定我做错了什么,我的代码如下:

meanList = []
for x in range(exon['Exon region start (bp)'].astype(int), exon['Exon region end (bp)'].astype(int)):
    meanList.append(exomes_avg_mean['mean'])
    exomes_avg_mean['average exon coverage'] = numpy.mean(meanList)
    meanList=[]

我想将第一列作为开始,第二列作为结束,继续计算它们之间的所有坐标的平均值,并将它们放在我创建的列中

谢谢


Tags: 数据idcoveragemeanregionintavg平均值
1条回答
网友
1楼 · 发布于 2024-09-28 05:19:02

考虑-BR/>第一个具有范围为DFRANGE的数据帧 以及具有dfData的第二数据帧。

步骤1-找到dfRange的形状。使用“形状”可以获得最大行数

步骤2-用于循环

for rowNumber in range(maxRows):

您可以获得dfRange的每一行及其相应的开始值和结束值

与任何行一样->;dfRange[rowNumber][0]给出了外显子区域开始的

dfRange[rowNumber][1]给出外显子区域末端

步骤3-切片tempDf=dfData[开始:结束+1]
第4步-总结并在你想要的tempDf轴上取平均值
第5步-将结果存储到您想要的任何位置。
第6步-对其他行进行回圈

否则,您可以直接选择形状而不是形状

for index, row in dfRange.iterrows():

相关问题 更多 >

    热门问题