python学习2016.3.31

(1)用type()可以查看任意数据类型。

如果是单个数值,则显示具体数值类型;如果是存储容器,则显示对应的存储类型。

示例:


输出结果:


注:

<1>若果不用np.mat([])定义矩阵或数组,用[ ]定义的存储类型都是List,无论是[]还是[[ ]]。

<2>数据框对应pandas包,df =pd.DataFrame()由于有多个列,查看各列对应数据类型时,用df.dtypes一定要是复数形式,如果是定义的是序列,s = pd.Series(),则可以用单数形式s.dtype,s.dtypes也不错。

<3>df.__class__typedf)的效果是一样的,其他数据类型都可以用,比如x.__class__和type(x),x可以是任意的数据对象。

<4>使用df.dtypes可以返回对应的数据类型,int,float,如果是非数值型,比如字符型,混合型,则会返回object,便于数据处理数值型和非数值型的分开,但是type()做不到。

 

(2)数据框查看数据df

l  查看前面和末尾几行,df.head(n),df.tail(n),n可要可不要。

l  查看列名df.colmns,查看行标df.index,查看值df.values,查看概述df.describe。

l  选取指定的行df[0:5],1-4行,选取列df[‘列名’]。

l  用对应标签(index,colmns)选取,df.loc[[index1,index2], [‘列名1’,’列名2’]]。

l  用整数下标选择,df.iloc[3:5,0:2],取3、4行,0、1列,0开始计数

l  取数据框的值是df.values,返回的是多维数组。

 

(3)lambda匿名函数


输出结果:


输入的参数x,后面是函数规则,与一般函数的定义效果一样,但根据简单灵活。

 

(4)数据框中函数


取出数据框df的var对应列并转换为float型,只要唯一数值的,并排序得到多维数组。

 

注:在终端中试验简单的函数,比在pycharmnotebook中方便

(5)np.diff(x,n,axis)

n代表差分次数,axis=-1是默认,代表一个维度中的相邻数差分,axis=0代表两个维度对应差分。

 

>>>x=np.array([1,2,3,6,7,9,0])

>>> np.diff(x,n=1,axis=-1)

array([ 1,  1, 3,  1,  2, -9])

>>>x=np.array([[1,2,3,6,7,9,0],[4,5,9,8,3,6,8]])

>>>x.diff(x,axis=0)

array([[ 3,  3, 6,  2, -4, -3,  8]])

>>>np.diff(x,axis=-1)

array([[ 1,  1, 3,  1,  2, -9],

       [ 1, 4, -1, -5,  3,  2]])

 

(6)np.empty([],dtype=int,order=C),依据给定的形状和数据类型返回一个空的数组,值是随机给的。

>>>np.empty([2,2])

array([[  0.00000000e+000,   1.23496922e-263],

       [ 1.23465979e-263,  1.51677620e-314]])

>>>np.empty([2,2],dtype=int)

array([[        0,        24],

       [      25, 158116472]])

 

(7)np.arange(start,stop,step)返回一个数组,从start到stop,左闭右开[a,b),间隔为step,默认的间隔为1。range()用法基本一样,但是range(n)中参数一定要是整数,但是np.arange()可以是小数。

>>>np.arange(3)

array([0, 1, 2])

>>>np.arange(3.0)

array([ 0.,  1., 2.])

>>>np.arange(1,9,4)

array([1, 5])

>>>np.arange(1,9,4.0)

array([ 1.,  5.])

 

>>>np.arange(3.2)

array([ 0.,  1., 2.,  3.])

>>>range(3.2)

Traceback (mostrecent call last):

  File "<stdin>", line 1, in<module>

TypeError: range()integer end argument expected, got float.

(8)df[var].quantile(threshold),var列在阈值threshold对应的分位数,是一种频率分布统计,是一个分位数值,可以比较大小看数值是否落在规定的区间内。

 

(9)s.strip(rm) :删除s字符串中开头、结尾处,位于 rm删除序列的字符。

 

(10)pd.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)

将数组分组

参数含义:

Retbins:是否返回bin

 include_lowest:一个区间是否左闭,是否包含最小的那个

>>> x =np.array([0.2,1.4,2.5,3.6,2.9,5,8,7,9.6])

>>>pd.cut(x,3)

[(0.191, 3.333],(0.191, 3.333], (0.191, 3.333], (3.333, 6.467], (0.191, 3.333], (3.333, 6.467],(6.467, 9.6], (6.467, 9.6], (6.467, 9.6]]

Categories (3,object): [(0.191, 3.333] < (3.333, 6.467] < (6.467, 9.6]]

>>>pd.cut(x,3,labels=['one','two','three'])

[one, one, one,two, one, two, three, three, three]

Categories (3,object): [one < two < three]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值