dark-Matter

df

Jun 20th, 2020
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.68 KB | None | 0 0
  1. def remove_min_cols(dataframe, thresold=0.85):
  2.   matrix = dataframe.corr()
  3.   cols = list(matrix.columns)
  4.   graph = []
  5.   for i in cols:
  6.     graph.append([])
  7.   for i in range(len(cols)):
  8.     for j in range(i+1, len(cols)):
  9.       if matrix[cols[i]][cols[j]] > thresold:
  10.         graph[i].append(j)
  11.         graph[j].append(i)
  12.   arr = []
  13.   for i in graph:
  14.     arr.append([len(graph[i]), i])
  15.  
  16.   arr.sort()
  17.   visited = len(cols)*[False]
  18.   del_cols = [
  19.   for i in arr:
  20.     nedges, node = i
  21.     if not visited[node]:
  22.       for j in graph[node]:
  23.         if not visited[j]:
  24.           visited[j] = True
  25.           del_cols.append(cols[j])
  26.       visited[node] = True
  27.  
  28.   dataframe.drop(columns=del_cols, inplace = True)
Add Comment
Please, Sign In to add comment