df_job= df2_c.groupby('所在行业').count() df2['job'] = df2['所在行业'] qldata = pd.merge(df_job,df2,left_index=True,right_on='job') qldata2 = qldata[['job','_id_x']] qldata2['知友密度(job)'] = qldata2['_id_x'] / 2626489789 def f2(df,*cols): colnames = [] for col in cols: colname = col + '_nor' df[colname] = (df[col] - df[col].min())/(df[col].max() - df[col].min())*100 colnames.append(colname) return(df,colnames)
时间: 2024-01-20 09:04:49 浏览: 81
Python pandas数据转化.docx
这段代码主要是对数据进行处理和计算知友密度。首先,通过对df2_c按照所在行业进行分组并计数,生成一个名为df_job的数据框。然后,将df2中的'所在行业'列赋值给新的列'job'。接下来,使用pd.merge函数将df_job和df2按照'job'列进行合并,合并方式为左连接(left_on='job', right_index=True)。得到合并后的数据框qldata。然后,从qldata中选取'job'和'_id_x'两列,生成一个名为qldata2的新数据框。接下来,计算知友密度,即将'_id_x'列的值除以总人口数2626489789,将结果存储在新的'知友密度(job)'列中。最后,定义了一个函数f2,该函数可以传入一个数据框df和若干列名,在数据框中为每个传入的列名生成一个归一化后的新列,新列名为原列名加上'_nor'后缀,并将新列名存储在一个列表colnames中,最后返回数据框df和colnames列表。
阅读全文