def get_edge_dataframe(infr, edges=None, all=False): import pandas as pd if edges is None: edges = infr.edges() edge_datas = {e: infr.get_nonvisual_edge_data(e) for e in edges} edge_datas = { e: {k: None for k in infr.feedback_data_keys} if d is None else d for e, d in edge_datas.items() } edge_df = pd.DataFrame.from_dict(edge_datas, orient='index') part = ['evidence_decision', 'meta_decision', 'tags', 'user_id'] neworder = ut.partial_order(edge_df.columns, part) edge_df = edge_df.reindex(neworder, axis=1) if not all: edge_df = edge_df.drop( [ 'review_id', 'timestamp', 'timestamp_s1', 'timestamp_c2', 'timestamp_c1', ], axis=1, ) # pd.DataFrame.from_dict(edge_datas, orient='list') return edge_df
def get_aug_df(edges): df = infr.get_edge_dataframe(edges) if len(df): df.index.names = ('aid1', 'aid2') nids = np.array( [infr.pos_graph.node_labels(u, v) for u, v in list(df.index)] ) df = df.assign(nid1=nids.T[0], nid2=nids.T[1]) part = ['nid1', 'nid2', 'evidence_decision', 'tags', 'user_id'] neworder = ut.partial_order(df.columns, part) df = df.reindex(neworder, axis=1) df = df.drop(['review_id', 'timestamp'], axis=1) return df
def pandas_reorder(df, part): import utool as ut df = df.reindex_axis(ut.partial_order(df.columns, part), axis=1)