首页 > 解决方案 > 如何在python中计算具有相同值的excel行

问题描述

我有一个包含 3 列(源、目标和时间)和 140400 行的 excel 文件,我想计算所有列中具有相同源、目标和时间值的行)相似值,我的意思是计算包含数据包的行来自同一来源的信息同时到达同一目的地。(row1:0,1,3 和 row102:0,1,3 所以我们这里有 2 个相同的行),所有值都是整数。我尝试使用 df.iloc 但只返回零,尝试使用字典但无法成功。如果有人帮助我找到解决方案,我将不胜感激。for t in timestamps:这是我尝试过但没有奏效的一种方法。

for x in range(120):        
    for y in range(120):
        while i < 140400 and df.iloc[i,0] <= t:
        #if df.iloc[i,0]<= t :
            if df.iloc[i, 0] == t and df.iloc[i, 1]==y and df.iloc[i, 2]==x:
                TotalArp[x][y]+=1
            i=i+1 

这是文件格式

标签: pythonexcelpandas

解决方案


如果我理解正确,您只想计算所有具有相同值的行,对吗?这应该可行,尽管可能不是最有效的方法:

counter = 0
for index, row in df.iterrows():
    if row[0] == row[1] == row[2]:
        counter += 1

编辑:

好的,由于我太笨了,无法发表评论,我将在此处对其进行编辑:

duplicate_count_df = df.groupby(df.columns.tolist(), as_index=False).size().drop_duplicates(subset=list(df.columns)

这应该会引导你走向正确的方向。


推荐阅读