У меня есть несколько блоков кодов, которые я буду sh уменьшать, есть ли более эффективный способ сократить это?
Вот пример части блока кодов
tra = tra.rename(columns = {'1':'T1'})
tra = tra.rename(columns = {'2':'T2'})
tra = tra.rename(columns = {'3':'T3'})
tra1 = tra[tra['range'].between(1,1.9, inclusive=True)]
tra2 = tra[tra['range'].between(2,2.9, inclusive=True)]
tra3 = tra[tra['range'].between(3,3.9, inclusive=True)]
tra1 = pd.DataFrame(tra1.drop(['range'],axis=1))
tra2 = pd.DataFrame(tra2.drop(['range'],axis=1))
tra3 = pd.DataFrame(tra3.drop(['range'],axis=1))
dis = dis.rename(columns = {'1':'D1'})
dis = dis.rename(columns = {'2':'D2'})
dis1 = dis[dis['range'].between(1,1.9, inclusive=True)]
dis2 = dis[dis['range'].between(2,2.9, inclusive=True)]
dis1 = pd.DataFrame(dis1.drop(['range'],axis=1))
dis2 = pd.DataFrame(dis2.drop(['range'],axis=1))
большое спасибо
Для лучшего понимания выше приведены условия фильтрации между DF, которые я констатировал, а ниже - часть кода, который я использовал для фильтрации между DF:
dis1['marker'] = 1
dis1 = pd.merge(tra1, dis1, on=['distance'], how='left')
dis1 = dis1[dis1['marker'].notnull()]
dis1 = pd.DataFrame(dis1.drop(['marker'],axis=1))
dis1.reset_index(drop=True, inplace=True)
dis1.head()
Есть ли еще информация, которую я должен добавить, чтобы лучше облегчить вопрос?