python函数

一、python参数

1.

在这里插入图片描述
在这里插入图片描述

1.accuracy_score()函数

分类正确率分数,函数返回一个分数,这个分数或是正确的比例,或是正确的个数。

accuracy_score(y_true, y_pred, *, normalize=True, sample_weight=None):
  • y_true:正确输出值。y_pred:经过网络的预测值,分类器输出值。
  • y_treue和y_pred可以选择的类型一样,包括:一维数组、矩阵。
  • normalize:normalize是布尔类型参数,如果是False的话,函数就返回样本分类的正确数量。如果是True的话,返回分类正确率。默认情况下数True的,也就是返回正确率。
  • sample_weight:样本的权重,默认是None。

2、X.var() (求得是每一列的方差)、

在这里插入图片描述

3 .abs() 数字取绝对值

在这里插入图片描述

4. data.describe() :描述性统计

# data.describe()
data.describe([0.01,0.1,0.25,.5,.75,.9,.99]).T

在这里插入图片描述
在这里插入图片描述

5.loc和iloc的用法和区别

loc——通过行标签索引行数据
iloc——通过行号索引行数据

print(data.iloc[0])

print(data.loc["A"])

二、numpy的函数

import numpy as np

1.np.median() : 求中位数

4. np.mean()平均值

在这里插入图片描述

2.np.linspace(0.05,1,19):

求0.05与1之间随机取19个数,包括0.05和1
在这里插入图片描述

3.np.unique() :求出数据的不同类别

在这里插入图片描述

三、pandas

import pandas as pd

1、pd.DataFrame()

在这里插入图片描述

2.data.drop_duplicates(inplace=True):去除重复值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、.fillna()会填充nan数据,返回填充后的结果。

如果希望在原DataFrame中修改,则把inplace设置为True

  • inplace参数的取值:True、False
    True:直接修改原对象
    False:创建一个副本,修改副本,原对象不变(缺省默认)

在这里插入图片描述

4 .isnull()和.notnull()

  • data.isnull() ;空值为True,非控制为Fasle
    data .isnull().sum():所有空值的个数总和
    data[data.isnull() ]:所有空值的列表
    在这里插入图片描述

data[data.isnull() ].index :所有空值的索引

  • .notnull():空值为Fasle,非控制为True

在这里插入图片描述
在这里插入图片描述

5、pd.qcut() :分箱

pd.qcut,基于分位数的分箱函数,本质是将连续型变量离散化只能够处理一维数据。返回箱子的上限和下限
参数q:要分箱的个数
参数retbins=True来要求同时返回结构为索引为样本索引,元素为分到的箱子的Series
现在返回两个值:每个样本属于哪个箱子,以及所有箱子的上限和下限

在这里插入图片描述

pd.cut((x, bins, right=True, labels=None)

pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise') #0.23.4

x:被切分的类数组(array-like)数据,必须是1维的(不能用DataFrame);
bins:bins是被切割后的区间(或者叫“桶”、“箱”、“面元”)
right:bool型参数,默认为True,表示是否包含区间右部。比如如果bins=[1,2,3],right=True,则区间为(1,2],(2,3];right=False,则区间为(1,2),(2,3)。
labels:给分割后的bins打标签,比如把年龄x分割成年龄段bins后,可以给年龄段打上诸如青年、中年的标签。labels的长度必须和划分后的区间长度相等,比如bins=[1,2,3],划分后有2个区间(1,2],(2,3],则labels的长度必须为2。如果指定labels=False,则返回x中的数据在第几个bin中(从0开始)。
retbins:bool型的参数,表示是否将分割后的bins返回,当bins为一个int型的标量时比较有用,这样可以得到划分后的区间,默认为False。
precision:保留区间小数点的位数,默认为3.
include_lowest:bool型的参数,表示区间的左边是开还是闭的,默认为false,也就是不包含区间左部(闭)duplicates:是否允许重复区间。有两种选择:raise:不允许,drop:允许。
返回值
out:一个pandas.Categorical, Series或者ndarray类型的值,代表分区后x中的每个值在哪个bin(区间)中,如果指定了labels,则返回对应的label。
bins:分隔后的区间,当指定retbins为True时返回。

将ages平分成5个区间

ages = np.array([1,5,10,40,36,12,58,62,77,89,100,18,20,25,30,32]) 
pd.cut(ages, 5)
[(0.901, 20.8], (0.901, 20.8], (0.901, 20.8], (20.8, 40.6], (20.8, 40.6], ..., (0.901, 20.8], (0.901, 20.8], (20.8, 40.6], (20.8, 40.6], (20.8, 40.6]]
Length: 16
Categories (5, interval[float64]): [(0.901, 20.8] < (20.8, 40.6] < (40.6, 60.4] < (60.4, 80.2] < (80.2, 100.0]]

将ages平分成5个区间并指定labels

6、pd.read_csv()方法来读取csv文件

data = pd.read_csv(r".\Narrativedata.csv",index_col=0)
  • index_col是read_csv中的一个参数。用来指定表格的索引值
  • 在默认为None的时候,pandas会自动将第一列作为索引,并额外添加一列。所以大多我们会使用index_col=0,直接将第一列作为索引,不额外添加列。
    在这里插入图片描述

8.pd.concat():将两个列表合并

axis=1,表示跨行进行合并,也就是将量表左右相连,如果是axis=0,就是将量表上下相连
pd.concat([data,pd.DataFrame(result)],axis=1)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9、.sample()

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)[source]

#n 要抽取的行数
df.sample(n=3,random_state=1) #提取3行数据列表

frac
#抽取行的比例
#例如frac=0.8,就是抽取其中80%。

df.sample(frac=0.8, replace=True, random_state=1)
#replace
#是否为有放回抽样,
#True:有放回抽样
#False:未放回抽样

#True:取行数据后,可以重复放回后再取
#False:取行数据后不放回,下次取其它行数据
#注意:当N>总数据容量,replace设置为值时有效

在这里插入图片描述

三、matplotlib 函数

import matplotlib.pyplot as plt
#画布的尺寸1行5列,figsize=(30,6)画布大小
plt.subplots(1,5,figsize=(30,6))

 #设置标题
plt.set_title(title)   

 #横坐标标签和纵坐标标签
plt.set_xlabel("Training examples") 
plt.set_ylabel("Score")  
          
#显示网格作为背景,不是必须
plt.grid() 

# 划线的命令
plt.plot(train_sizes, np.mean(train_scores, axis=1), 'o-', color="r",label="Trainingscore")

plt.legend(loc="best")

在这里插入图片描述

四、random模块

1、random.sample()

random.sample用于截取列表的指定长度的随机数,但是不会改变列表本身的排序。

import random
list = [0,1,2,3,4]
rs = random.sample(list, 2)
print(rs)
print(list)

[3, 4]
[0, 1, 2, 3, 4]

我们要生成0~N之间的不重复的指定长度L的随机整数,可以使用:random.sample(range(0, N), L),例如我要生成0~20之间的20个随机整数:

a = random.sample(range(0, 20), 20)
>>> a
[9, 12, 11, 7, 8, 10, 6, 13, 2, 16, 0, 1, 14, 18, 4, 15, 3, 19, 17, 5]

五、保存和调用

1、dump()方法和 load()方法

  • pickle.dump(obj, file, protocol)
    注释:
    obj——序列化对象,将对象obj保存到文件file中去;
    file——file表示保存到的类文件对象,file必须有write()接口,file可以是一个以’w’打开的文件或者是一个StringIO对象,也可以是任何可以实现write()接口的对象;
    protocol——序列化模式,默认是 0(ASCII协议,表示以文本的形式进行序列化),protocol的值还可以是1和2(1和2表示以二进制的形式进行序列化。其中,1是老式的二进制协议;2是新二进制协议)。

  • pickle.load(file)
    注释:
    反序列化对象,将文件中的数据解析为一个python对象。
    file中有read()接口和 readline() 接口

import pickle
fw = open("pickleFileName.txt", "wb")
pickle.dump("try", fw) 

fr = open("pickleFileName.txt", "rb")
result = pickle.load(fr)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值