当前位置:   article > 正文

Python数据分析初级_python idxmax

python idxmax

数据准备相关概念

  1. 数据的数量
  1. .样本个数
  2. .变量个数

3).数据取值

样本个数:就是数据表的行数,由于每一行数据也叫做一条记录,所以样本的个数也可以说是数据表的记录数。

变量个数:调查对象的特征或属性称为变量,由于第一列为调查对象,所以除了第一列外的剩余列数称为变量个数。很多情况下,我们可以直接用数据表的列数来表示变量的个数。

数据取值:每个字段的取值即为数据取值。

  1. 数据的类型
  1. .类别型数据
  2. .数值型数据

类别型数据:用来描述性质或特征的,也称为定性数据。

数值型数据:用来描述数量的,涉及到数字,也叫做定量数据。

  1. 数据的质量
  1. .集中趋势:均值,中位数,众数
  2. .离散程度:方差,标准差

  1. 数据检视
  1. 导入数据库

import pandas as pd

import matplotlib.pyplot as plt

import numpy as np

  1. 导入数据集

变量=pd.read_csv(‘文件名’,encoding=’utf-8’)

使用head()显示文件前几行

  1. 检查数据情况

使用shape检查数据整体行数列数

使用columns检查数据中字段

使用value_counts()查看字段情况(类型,取值情况)

使用duplicated().sum()检查数据重复情况

使用drop删除数据字段   变量.drop([‘删除的字段’],axis=1,inplace=True)

使用drop_duplicates(inplace=True)删除数据重复行

使用变量.duplicated([‘字段’]).sum()检查某字段重复情况

使用变量.drop_duplicates([‘字段’],inplace=True)删除某字段数据重复行

  1. 数据总体描述统计
  1. 使用nunique()查看唯一值数量

politic_relation['姓名'].groupby(politic_relation['Indexyear']).nunique()

后面加.idxmax()求最大值

2.使用groupby() 和value_counts()进行分组计数

3.用matplotlib制图做柱状图  

from pylab import mpl   防止乱

mpl.rcParams['font.sans-serif']=['SimHei']

x=np.arange(1,n,1)

y=分组后的(或plot(kind=’bar’))

plt.bar(x,y)

plt.title(‘ 标题’)

plt.xlabel(‘x轴坐标’)

plt.ylabel(‘y轴坐标’)

plt.show()

4.count()分组记录数

politic_relation['姓名'].groupby(politic_relation['联系']).count()后面加sort_values(ascending=False)排序降序False

  1. 同上分组计算平均值mean()
  2. 同上分组获取第一个非空值first()
  3. 使用matplotlib_venn绘制韦恩图(求交集)

From matplotlib_venn import venn3

使用set()创建三个集合

例officer=set(politic_relation[姓名])

Venn3([officer,associate,kin],(官员,关系人,亲戚))

Officer&associate&kin取交集

8.abs求绝对值例指数年之差的绝对值例abs(变量[字段]-变量[字段])

  1. 使用pyecharts绘制地理分布图

From pyecharts import Geo

Data=politic_relation[[X,Y]].groupby(politic_relation[籍贯]).first()

Data[官员数量]=politic_relation[姓名].groupby(politic_relation[籍贯]).nunique()加新列

信息geo=Geo(

 标题

title_color=#fff

title_pos=center,

width=700,

height=400,

background_color=#404a95

)

address={[data.index[i][X].data.iloc[i][Y]]

for i in range(len(data))}

attr=data.index

geo.add(

“”,

attr,

value,

visual_range=[0,5],

visual_text_color=#fff,

symbol_size=6,

is_visualmap=True,

go_cities_coords=address

)

geo

  1. 数据清洗

1.info()缺失值检查

2.dropna(inplace=True)删除缺失值

3.fillnat()填充缺失值

4.duplicated和sum检查重复

5.drop_duplicates(inplace=True)删除重复行

4.数据拆合

politic_relation['联系'].groupby(politic_relation['姓名']).value_counts().unstack()

行转换成列unstack()

  1. 数据建模 (方法K-means)

引入KMeans算法  from sklearn.cluster import KMeans

KMeans(聚集2类n_clusters=2).fit_predict(politic_relation_rlt)

Data=politic_relation.drop(label,axis=1)

变量[新列]=KMeans(聚集2类n_clusters=2 , random_state=1).fit_predict(data)

n_clusters:簇的个数,即你想聚成几类

init: 初始簇中心的获取方法

n_init: 获取初始簇中心的更迭次数,为了弥补初始质心的影响,算法默认会初始10次质心,实现算法,然后返回最好的结果。

max_iter: 最大迭代次数(因为kmeans算法的实现需要迭代)

tol: 容忍度,即kmeans运行准则收敛的条件

precompute_distances:是否需要提前计算距离,这个参数会在空间和时间之间做权衡,如果是True 会把整个距离矩阵都放到内存中,auto 会默认在数据样本大于featurs*samples 的数量大于12e6 的时候False,False 时核心实现的方法是利用Cpython 来实现的

verbose: 冗长模式(不太懂是啥意思,反正一般不去改默认值)

random_state: 随机生成簇中心的状态条件。

copy_x: 对是否修改数据的一个标记,如果True,即复制了就不会修改数据。bool 在scikit-learn 很多接口中都会有这个参数的,就是是否对输入数据继续copy 操作,以便不修改用户的输入数据。这个要理解Python 的内存机制才会比较清楚。

n_jobs: 并行设置

algorithm: kmeans的实现算法,有:‘auto’, ‘full’, ‘elkan’, 其中 'full’表示用EM方式实现

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/540920
推荐阅读
相关标签
  

闽ICP备14008679号