当前位置:首页 » 编程语言 » shape0python

shape0python

发布时间: 2023-09-08 11:55:08

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

1.python自带数据结构:序列(如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拼接(list1.append(obj)、加运算及乘运算):

list长度:

list每个元素乘一个数值:
list2 = numpy.dot(list2,2)
list类似矩阵相乘(每个元素对应相乘取和):
list3 = numpy.dot(list1,list1)
#要求相乘的两个list长度相同
list3 = numpy.dot(list2,list22)
#要求numpy.shape(list2)和numpy.shape(list22)满足“左行等于右列”的矩阵相乘条件,相乘结果numpy.shape(list3)满足“左列右行”

2.numpy数据结构:

Array:
产生array:
data=np.array([[1, 9, 6], [2, 8, 5], [3, 7, 4]])
data=np.array(list1)
data1 = np.zeros(5) #data1.shape = (5,),5列
data1 = np.eye(5)
索引array:
datacut = data[0,2] #取第零行第二列,此处是6
切片array:
datacut = data[0:2,2] # array([6, 5])
array长度:
data.shape
data.size
np.shape(data)
np.size(data)
len(data)
array拼接:
#括号内也有一个括号(中括号或者小括号)!
d = np.concatenate((data,data))
d = np.concatenate((data,data),axis = 1) #对应行拼接
array加法:逐个相加
array乘法:
d = data data #逐个相乘
d = np.dot(data,data) #矩阵相乘
d = data
3 #每个元素乘3
d = np.dot(data,3) #每个元素乘3
array矩阵运算:
取逆 : np.linalg.inv(data)
转置:data.T
所有元素求和 : np.sum(data)
生成随机数:np.random.normal(loc=0, scale=10, size=None)
生成标准正态分布随机数组:np.random.normal(size=(4,4))
生成二维随机数组:
np.random.multivariate_normal([0,0],np.eye(2))
生成范围在0到1之间的随机矩阵(M,N):
np.random.randint(0,2,(M,N))

Matrix:
创建matrix:
mat1 = np.mat([[1, 2, 3], [4, 5, 6]])
mat1 = np.mat(list)
mat1 = np.mat(data)
matrix是二维的,所有+,-,*都是矩阵操作。
matrix索引和分列:
mat1[0:2,1]
matrix转置:
np.transpose(mat1)
mat1.transpose()
matrix拼接:
np.concatenate([mat1,mat1])
np.concatenate([mat1,mat1],axis = 1)

numpy数据结构总结:对于numpy中的数据结构的操作方法基本相同:
创建:np.mat(list),np.array(list)
矩阵乘:np.dot(x,y)
转置:x.T or np.transpose(x)
拼接:np.concatenate([x,y],axis = 1)
索引:mat[0:1,4],ary[0:1,4]

3.pandas数据结构:
Series:
创建series:
s = pd.Series([[1,2,3],[4,5,6]],index = [‘a’,‘b’])
索引series:
s1 = s[‘b’]
拼接series:
pd.concat([s1,s1],axis = 1) #也可使用s.append(s)

DataFrame:
创建DaraFrame:
df = pd.DataFrame([[1,2,3],[1,2,3]],index = ['a','b'],columns = ['x','y','z'])
df取某一列:
dfc1 =df.x
dfc1 = df[‘x’]
dfc2 = df.iloc[:,0] #用.iloc方括号里是数字而不是column名!
dfc2 = df.iloc[:,0:3]
df取某一行:
dfr1 = df.iloc[0]
df1 = df.iloc[0:2]
df1 = df[0:2] #这种方法只能用于取一个区间
df取某个值:
dfc2 = df.iloc[0,0]
dfc2 = df.iloc[0:2,0:3]

❷ python中pandas问题

df.shape[0]是行数
减去个1,就类似于length - 1
其实就是arr.drop(len(arr) - 1)

❸ Python中怎样使用shape计算矩阵的行和列

你得先安装numpy库,矩阵(ndarray)的shape属性可以获取矩阵的形状(例如二维数组的行列),获取的结果是一个元组,因此相关代码如下:

importnumpyasnp
x=np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
#输出数组的行和列数
printx.shape#(4,3)
#只输出行数
printx.shape[0]#4
#只输出列数
printx.shape[1]#3

❹ 关于arcgis的python脚本编程, shape文件出png图片问题

1、点类型的转栅格:

PointToRasterexample1(Python
window)


.

importarcpy
fromarcpyimportenv
env.workspace="c:/data"
arcpy.PointToRaster_conversion("ca_ozone_pts.shp","ELEVATION",
"c:/output/ca_elev","MAXIMUM","",2000)

PointToRasterexample2
(stand-alonescript)

.

#Name:PointToRaster_Ex_02.py
#Description:.
#Requirements:ArcInfo

#Importsystemmoles
importarcpy
fromarcpyimportenv

#Setenvironmentsettings
env.workspace="C:/data"

#Setlocalvariables
inFeatures="ca_ozone_pts.shp"
valField="ELEVATION"
outRaster="c:/output/ca_elev02"
assignmentType="MAXIMUM"
priorityField=""
cellSize=2000

#ExecutePointToRaster
arcpy.PointToRaster_conversion(inFeatures,valField,outRaster,
assignmentType,priorityField,cellSize)



2、面类型的转栅格:

PolygonToRasterexample1
(Pythonwindow)

.

importarcpy
fromarcpyimportenv
env.workspace="c:/data"
arcpy.PolygonToRaster_conversion("ca_counties.shp","NAME",
"c:/output/ca_counties.img",
"MAXIMUM_AREA","MALES",0.25)

PolygonToRasterexample2
(stand-alonescript)

.

#Name:PolygonToRaster_Ex_02.py
#Description:.
#Requirements:ArcInfo

#Importsystemmoles
importarcpy
fromarcpyimportenv

#Setenvironmentsettings
env.workspace="C:/data"

#Setlocalvariables
inFeatures="ca_counties.shp"
valField="NAME"
outRaster="c:/output/ca_counties"
assignmentType="MAXIMUM_AREA"
priorityField="MALES"
cellSize=0.5

#ExecutePolygonToRaster
arcpy.PolygonToRaster_conversion(inFeatures,valField,outRaster,
assignmentType,priorityField,cellSize)


3、线类型转栅格

PolylineToRasterexample1
(Pythonwindow)

.

importarcpy
fromarcpyimportenv
env.workspace="c:/data"
arcpy.PolylineToRaster_conversion("roads.shp","CLASS","c:/output/roads.img",
"MAXIMUM_COMBINED_LENGTH","LENGTH",30)

PolylineToRasterexample2
(stand-alonescript)

.

#Name:PolylineToRaster_Ex_02.py
#Description:.
#Requirements:ArcInfo

#Importsystemmoles
importarcpy
fromarcpyimportenv

#Setenvironmentsettings
env.workspace="C:/data"

#Setlocalvariables
inFeatures="roads.shp"
valField="CLASS"
outRaster="c:/output/roads.tif"
assignmentType="MAXIMUM_COMBINED_LENGTH"
priorityField="LENGTH"
cellSize=30

#ExecutePolylineToRaster
arcpy.PolylineToRaster_conversion(inFeatures,valField,outRaster,
assignmentType,priorityField,cellSize)

❺ python 里 np.array 的shape (2,)与(2,1)的分别是什么意思,区别是什么

numpy.ndarray.shap是返回一个数组维度的元组。(2,)与(2,1)的区别如下:

❻ Python中a.shape和shape有什么区别

前者简洁一点,少一个a 上面开玩笑,下面进行正解: 对于进行加法运算时的a,b来说 两个式子执行的结果确实没有什么区别。但是从编译的角度看吧,a+=b; 执行的时候效率高。 在Python列表操作符中: '+'代表连接操作,其结果是创建了一个新的列表...

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:235
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726