import pandas as pd
import math

k=20
df = pd.read_table('glchr8v9_cen_hor_organization.collapsed.txt', sep='\t', header=None)
df['index'] = df.index
df['index'] = df['index'].apply(lambda x:math.floor(x/k))

def groupby_test(groupby_df):
    prevHOR = None
    time_changed = -1
    for idx, row in groupby_df.iterrows():
        if row[3]!=prevHOR:
            time_changed+=1
            prevHOR = row[3]
    return time_changed

df_result = df.groupby('index').apply(groupby_test)
df_outcome = pd.merge(df, pd.DataFrame(df_result), on='index')
df_outcome.to_csv("glchr8v9_heterogeneity_index20.tbl", sep="\t")




