|||
源代码以及测试数据文件
初始矩阵文件
经处理后的文件
1.导入相应的库以及读取数据 import pandas as pd import numpy as np data = pd.read_excel("C:/Users/test_matrix.xlsx",index_col="国家/地区") data.head() 2.构造第一列数据,即边列表的起始边 # x = ['a','c','b'] # y = [[x[i]]*2 for i in range(len(x))] # t = [] # [t.extend(i) for i in y] # t ['a', 'a', 'c', 'c', 'b', 'b'] # data.shape[1]计算列数 # data.shape[0]计算行数,也可用len(data),更快 index_list = data.index.tolist() combine_list = [[index_list[i]]*data.shape[1] for i in range(len(index_list))] # 将多个了列表进行合并 start_list = [] [start_list.extend(i) for i in combine_list] 3.构造第二列数据,即边列表的终止边 # ['a','c','b','a','c','b'] columns_list = data.columns.tolist() end_list = columns_list*data.shape[0] 4.构造第三列数据,即边的权重 data_values_list = np.reshape(data.values,data.shape[0]*data.shape[1]) 5.将列表转化为数据框 edge_list = {'start_list':start_list, 'end_list':end_list, 'values_list':data_values_list} #data_new = pd.DataFrame(edge_list,index = start_list) 重新设置索引 data_new = pd.DataFrame(edge_list) data_new.head() 6.根据相应的条件进行数据的筛选 # 多条件筛选数据 # df.loc[(df['column_name'] == some_value) & df['other_column'].isin(some_values)] selected_data = data_new.loc[data_new['values_list'] >= 5] #筛选出阈值大于等于5的边。 selected_data.head() # data_new.to_excel("new_data.xlsx") 7.将处理好的数据导出到excel中 selected_data.to_excel("selected_data.xlsx")
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-3 04:14
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社