
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文件在等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)