#读入数据
politic_relation=pd.read_csv('officer',encoding='utf-8')
-------------------------------
encoding='utf-8'
#解决中文解读问题
----------------------------
shape #查看数据整体情况(记录和字段及行跟列数)
columns#检查列数及字段全部提取出来
value_counts()#根据值计数
sort_values()#根据值排序
duplicated().sum()检查整行重复
dupicated('姓名‘).sum()#检查部分字段的行重复
drop()#删除整列
dropna()删除有缺失值的行
drop_duplicates(inplace=True)#在原数据集中删除重复行
drop_duplicates('学号',inplace=True)#在源数据集中删除部分字段重复的行
--------------------------------------------------------------------------------------------------------
kinship['姓名’].nunique()#在姓名列中取值,重复值不取。nunique唯一值的函数表述
kinship['亲戚‘].groupby(kinship['姓名’]).count().sort_values(ascending=False)#在亲戚表中根据姓名分组亲戚,然后计数(亲戚的数)并按照从大到小的排序。groupby是分组函数,count()计数函数,sort_values根据值排序values可以更换成其他的值。ascending=False为按照从到小的约束值)
----------------------------------------------------------------------------------------------------------------
from matlotplib.pyplot import mpl
mpl.rcParams['font.sans-serif']=['Simhei']
#解决中文显示不正常
--------------------------------------------------
plot(kind='bar')绘制柱状图的一种表示,title xlabel,ylabel(标题,x,y)
----------------------------------------------------------
x=np.arange(1,139,1)#解决横坐标不是特别重要,显示不清楚的划分情况。
y=kinship
plt.bar(x,y)
plt.title
plt.xlabel
plt.ylabel
绘制柱状图的另外一种表述
---------------------------------------------
绘制韦恩图
from matplotlib_venn import venn3
venn3([officer,associate,kin],(‘官员’,‘关系人’,‘亲戚’))
plt.show()
------------------------------
使用&符号求各个集合的交集
-----------------------------------------------------
idxmax()这一列的最大值
isnull().sum()空值数量
------------------------
politic_relation[politic_relation['Assoc.Index year']==0]['Assoc.Index year].count()
#求Assoc . Index year 这一列数值为0的数量
在地理分布图中使用
first()取第一个非空值
绘制地理分布图
------------------------------------------------------------------------------------------------------------
#pyecharts中官方绘制地理分布图的代码:
from pyecharts import Geo
geo =Geo(
'官员籍贯的地理分布图‘,
title_color="#fff",
title_pos="center",
width = 750,#宽
height = 600,#高
background_color = "404a59",
)
#插入自定义经纬度的字典
address = {data.index[i]:[data,i loc[i]['X'],data.i loc[i]['Y']] for i in range (len(data))}
#attr取值为data的索引值,value 取值为data的官员数量
attr = data.index
value = data['官员数量’]
#添加用户自定义经纬仪的参数geo_cites_coords,取值为address
geo.add(
"",
attr,
value,
visual_range=[0,5],
visual_text_color='#fff",
symbol_size = 7,
is_visualmap=True,
geo_cities_coords=address
)
geo
-----------------------------------------------------------------------------------
politic_relation[['姓名‘,’社会关系人姓名‘]].groupby(politic_relation['联系’].nunique()
#同时在一个表中提取多个字段时 要使用方括弧括起来。
------------------------------------------------------------------------
整合多字段为同一类时 使用“or"关键字
politic_relation['支持性关系] = politic_relation['联系==”支持“ or 联系==”得到Y的支持“ or 联系==”政见趋同“']
----------------------------------------------------------
使用abs求绝对值
politic_relation['指数年之差‘]=abs(politic_relation['Index year'] - politic_relation['Assoc.Index year])
----------------------------------------------------------------
unstack()
#改变行