python自带及pandas、numpy数据结构(一)

python自带及pandas、numpy数据结构(一),第1张

1python自带数据结构:序列(如list)、映射(如字典)、集合(set)。

以下只介绍序列中的list:

创建list:

list1 = []

list1 = [1,2,3,4,5,6,7,8,9] #逗号隔开

list2 = [[1,2],[3,4],[5,6],[7,8]] #list2长度(len(list2))为2,list2[0] = [1,2]

liststring = list(“thisisalist”) #只用于创建字符串列表

索引list:

e = list1[0] #下标从零开始,用中括号

分片list:

es = list1[0:3]

es = list1[0:9:2] #步长在第二个冒号后

list拼接(list1append(obj)、加运算及乘运算):

list长度:

list每个元素乘一个数值:

list2 = numpydot(list2,2)

list类似矩阵相乘(每个元素对应相乘取和):

list3 = numpydot(list1,list1)

#要求相乘的两个list长度相同

list3 = numpydot(list2,list22)

#要求numpyshape(list2)和numpyshape(list22)满足“左行等于右列”的矩阵相乘条件,相乘结果numpyshape(list3)满足“左列右行”

2numpy数据结构:

Array:

产生array:

data=nparray([[1, 9, 6], [2, 8, 5], [3, 7, 4]])

data=nparray(list1)

data1 = npzeros(5) #data1shape = (5,),5列

data1 = npeye(5)

索引array:

datacut = data[0,2] #取第零行第二列,此处是6

切片array:

datacut = data[0:2,2] # array([6, 5])

array长度:

datashape

datasize

npshape(data)

npsize(data)

len(data)

array拼接:

#括号内也有一个括号(中括号或者小括号)!

d = npconcatenate((data,data))

d = npconcatenate((data,data),axis = 1) #对应行拼接

array加法:逐个相加

array乘法:

d = data data #逐个相乘

d = npdot(data,data) #矩阵相乘

d = data 3 #每个元素乘3

d = npdot(data,3) #每个元素乘3

array矩阵运算:

取逆 : nplinalginv(data)

转置:dataT

所有元素求和 : npsum(data)

生成随机数:nprandomnormal(loc=0, scale=10, size=None)

生成标准正态分布随机数组:nprandomnormal(size=(4,4))

生成二维随机数组:

nprandommultivariate_normal([0,0],npeye(2))

生成范围在0到1之间的随机矩阵(M,N):

nprandomrandint(0,2,(M,N))

Matrix:

创建matrix:

mat1 = npmat([[1, 2, 3], [4, 5, 6]])

mat1 = npmat(list)

mat1 = npmat(data)

matrix是二维的,所有+,-,都是矩阵 *** 作。

matrix索引和分列:

mat1[0:2,1]

matrix转置:

nptranspose(mat1)

mat1transpose()

matrix拼接:

npconcatenate([mat1,mat1])

npconcatenate([mat1,mat1],axis = 1)

numpy数据结构总结:对于numpy中的数据结构的 *** 作方法基本相同:

创建:npmat(list),nparray(list)

矩阵乘:npdot(x,y)

转置:xT or nptranspose(x)

拼接:npconcatenate([x,y],axis = 1)

索引:mat[0:1,4],ary[0:1,4]

3pandas数据结构:

Series:

创建series:

s = pdSeries([[1,2,3],[4,5,6]],index = [‘a’,‘b’])

索引series:

s1 = s[‘b’]

拼接series:

pdconcat([s1,s1],axis = 1) #也可使用sappend(s)

DataFrame:

创建DaraFrame:

df = pdDataFrame([[1,2,3],[1,2,3]],index = ['a','b'],columns = ['x','y','z'])

df取某一列:

dfc1 =dfx

dfc1 = df[‘x’]

dfc2 = dfiloc[:,0] #用iloc方括号里是数字而不是column名!

dfc2 = dfiloc[:,0:3]

df取某一行:

dfr1 = dfiloc[0]

df1 = dfiloc[0:2]

df1 = df[0:2] #这种方法只能用于取一个区间

df取某个值:

dfc2 = dfiloc[0,0]

dfc2 = dfiloc[0:2,0:3]

python做数据分析时下面就是提取一个月数据的教程1 datetime库

11 ​​datetimedate​​

1) ​​datetimedatetoday()​​ 返回今日,输出的类型为date类

import datetime

today = datetimedatetoday()

print(today)

print(type(today))

–> 输出的结果为:

2020-03-04

<class 'datetimedate'>

将输出的结果转化为常见数据类型(字符串)

print(str(today))

print(type(str(today)))

date = str(today)split('-')

year,month,day = date[0],date[1],date[2]

print('今日的年份是{}年,月份是{}月,日子是{}号'format(year,month,day))

–> 输出的结果为:(转化为字符串之后就可以直接进行 *** 作)

2020-03-04

<class 'str'>

今日的年份是2020年,月份是03月,日子是04号

2) ​​datetimedate(年,月,日)​​,获取当前的日期

date = datetimedate(2020,2,29)

print(date)

print(type(date))

–> 输出的结果为:

2020-02-29

<class 'datetimedate'>

12 ​​datetimedatetime​​

1) ​​datetimedatetimenow()​​输出当前时间,datetime类

now = datetimedatetimenow()

print(now)

print(type(now))

–> 输出的结果为:(注意秒后面有个不确定尾数)

2020-03-04 09:02:28280783

<class 'datetimedatetime'>

可通过​​str()​​转化为字符串(和上面类似)

print(str(now))

print(type(str(now)))

–> 输出的结果为:(这里也可以跟上面的处理类似分别获得相应的数据,但是也可以使用下面更直接的方法来获取)

2020-03-04 09:04:32271075

<class 'str'>

2) 通过自带的方法获取年月日,时分秒(这里返回的是​​int​​整型数据,注意区别)

now = datetimedatetimenow()

print(nowyear,type(nowyear))

print(nowmonth,type(nowmonth))

print(nowday,type(nowday))

print(nowhour,type(nowhour))

print(nowminute,type(nowminute))

print(nowsecond,type(nowsecond))

print(nowdate(),type(nowdate()))

print(nowdate()year,type(nowdate()year))

–> 输出的结果为:(首先注意输出中倒数第二个还是上面的​​datetimedate​​​对象,这里是用来做时间对比的,同时除了这里的​​datetimedatetime​​​有这种方法,​​datetimedate​​​对象也有。因为此方法获取​​second​​是取的整型数据,自然最后的不确定尾数就被取整处理掉了)

2020 <class 'int'>

3 <class 'int'>

4 <class 'int'>

9 <class 'int'>

12 <class 'int'>

55 <class 'int'>

2020-03-04 <class 'datetimedate'>

2020 <class 'int'>

a

=

nparange(8)

npsavetxt('atxt',a)

这样就会在工作目录下生成存有a数据的文件atxt

然后读取就行了,如

b=loadtxt('atxt')

这里都是在同一目录下进行的,如果是在别的文件夹,修改引号内的路径就行了

以上就是关于python自带及pandas、numpy数据结构(一)全部的内容,包括:python自带及pandas、numpy数据结构(一)、python数据分析时间序列如何提取一个月的数据、python numpy 使用 loadtxt读取txt文件的内容,txt文件跟要执行的py文件在等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9624962.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存