三种常用的数据类型:元组、列表、字典。 其中,列表和字典更是经常被使用。
a=(1,2,3)
print(a)
print(a[1])
对列表增加列表项用列表的append()
函数。
b=[4,5,6]
print(b)
b.append(7)
print(b)
print(b[3])
mydic={'a':12.15, 'name':True, 'age':'18'}
print('a vales is :%d' %mydic['a'])
print('Keys: %s' %mydic.keys())
print("values :%s" %mydic.values())
for key in mydic:
print(mydic[key])
删除字典中的全部元素,可以用字典自身的clear()方法
若删除字典特定的key元素,用pop(key)方法
mydic={'a':12.15, 'name':True, 'age':'18'}
print(mydic)
#增加字典元素
mydic['e']=1236
print('e vales is :%d' %mydic['e'])
print(mydic)
#删除字典特定的key元素
mydic={'a':12.15, 'name':True, 'age':'18'}
mydic.pop('a')
print(mydic)
#删除字典中的全部元素
mydic.clear()
print(mydic)
语句体(with-body): with 语句包裹起来的代码块,在执行语句体之前会调用上下文管理器的__enter()__
方法,执行完语句体之后会执行__exit()__
方法。
例如对文件进行操作,可使用with语句。
with open('somefileName') as somefile:
for line in somefile:
print(line)
这里使用了with语句,不管在处理文件过程中是否发生异常,都能保证with语句执行完毕后关闭了打开的文件句柄。
如果使用传统的try/finally范式,则要使用如下代码:
somefile=open('somefileName')
try:
for line in somefile:
print(line)
finally:
somefile.close()
利用NumPy创建多为数组非常简单,通过给array函数传递Python的序列对象创建数组。如果传递的是多层嵌套的序列,将创建多维数组。
#创建一维数组
import numpy as np
myarray=np.array([1,2,3])
print(myarray)
print(myarray.shape)
import numpy as np
# 创建多维数组
myarray=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(myarray)
print(myarray.shape)
对于ndarray数组的访问,可以通过数组下表访问某一行、某一列:
import numpy as np
#创建多维数组
myarray=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(myarray)
print(myarray.shape)
#访问某一行
print('这是第一行:%s' %myarray[0])
print('这是最后一行:%s' %myarray[-1])
print('访问整列(3列)数据:%s'%myarray[:,2])
print('访问指定行(2行)和列(3列)的数据:%s'%myarray[1,2])
使用NumPy的ndarray可以直接进行算数运算,或者说向量运算。
import numpy as np
#创建多维数组
myarray1=np.array([[1,2,3],[4,5,6],[7,8,9]])
myarray2=np.array([[11,22,32],[42,52,62],[72,82,92]])
print('向量加法运算:')
print(myarray1+myarray2)
print('向量乘法运算:')
print(myarray1*myarray2)
matplotlib是Python中著名的2D绘图库。
import matplotlib.pyplot as plt
import numpy as np
#创建多维数组
myarray=np.array([[1,2,3],[4,5,6],[7,8,9]])
#初始化绘图
plt.plot(myarray)
#设定x轴和y轴
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
#创建多维数组
myarray1=np.array([1,2,3])
myarray2=np.array([11,21,31])
#初始化绘图
plt.scatter(myarray1,myarray2)
#设定x轴和y轴
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.show()
Pandas提供了用于机器学习的复杂数据类型:矢量运算方法和数据分析方法。Pandas也提供可多种数据结构。
Pandas是一个强大的对数据进行切片的工具。
在建立Series时可以设定index, 也可以像访问NumPy数组或字典一样来访问Series元素。
import numpy as np
import pandas as pd
myarray=np.array([1,2,3])
myindex=['a','b','c']
myseries=pd.Series(myarray,index=myindex)
print(myseries)
print("Series中的第一个元素:")
print(myseries[0])
print("Series中的c index 元素:")
print(myseries['c'])
DataFrame是一个可以指定行和列标签的二维数组。数据可以通过指定列名来访问特定列的数据。
import numpy as np
import pandas as pd
myarray=np.array([[1,2,3],[4,5,6],[7,8,9]])
rowindex=['row1','row2','row3']
colname=['col1','col2','col3']
MyDataframe=pd.DataFrame(data=myarray,index=rowindex, columns=colname)
print(MyDataframe)
print('访问col3的数据:')
print(MyDataframe['col3'])