pandas IO numpy 矩阵

来源:互联网 发布:怎么申请软件著作权 编辑:程序博客网 时间:2024/05/20 01:44
import timeimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltprint('\n\n--------列表 list    []------')# 生成list_0=list(range(10))list_1=[6,9,3,5,7]list_2=[x*x for x in range(10) if x%2==0]print('list_2',list_2)# 增list_1.append(10)# 删 末尾list_1.pop()# 改list_1[0]=0# 计数list_0.count(0)#计算0出现的次数print(sum(list_1),len(list_1))print('\n\n------元组 tuple    ()-----')# 赋值后就无法被修改tuple_0=(2,4,6)tuple_1=3,5,7print(tuple_1)print('\n\n-----字典 dict     {}------')dict_0={'name':'lin','age':22}#增dict_0['tall']=175#删dict_0.pop('tall')  #改dict_0['age']=23#取print(dict_0['name']) print(dict_0.get('NAME',0))#这种 dict_0.get 方法可以使查询不到时返回特定值# 查询键 值 或两者print(dict_0.keys(),dict_0.values(),dict_0.items())# defaultdict# counterprint('\n\n-------集合 set      set()---------')# 集合不会重复存储  查询速度快# 创建 需提供一个 list 作为输入集合list_s=[1,2,3,4,5,1,2]set_0=set(list_s)print(set_0)# 增set_0.add(8)# 删set_0.remove(1)set_1=set([1,2,3])print('set_0:',set_0,' set_1:',set_1)print('&: %s  | %s'%(set_0&set_1,set_0|set_1))print('\n\n-------数组 array  numpy 数组里可以有字符---------')# 一维数组print(np.array([1,2,3,4]))# 二维数组print(np.array([[1,2],[3,4]]))# arange 方法print(np.arange(15))# 三行五列print(np.arange(15).reshape(3,5))print('----------------------------------')print(np.arange(27).reshape(3,3,3))print('----------------------------------')# 1到3 等分生成9个数print(np.linspace(1,3,9))print(np.zeros((3,4)))print(np.ones((3,4)))print(np.eye(3))a=np.array([[1,2],[2,3]])# 数组转置print(a.transpose())# 迹print(np.trace(a))# 数组 特征值 特征向量import numpy.linalg as nplgprint(nplg.eig(a))print('\n\n------- 向量 ---------')# 行向量a=np.array([[1,2,3,4]])print(a)# 列向量b=a.Tprint(b)print('\n\n------- 矩阵 pandas 矩阵里不准有字符---------')a1=np.mat([1,2,3])print(a1)#行向量print(a1.T)#列向量# 创建零矩阵print(  np.mat(np.zeros((3,3)))  )# 创建 1 矩阵print(  np.mat(np.ones((3,3)))  )# 创建单位矩阵print(  np.mat( np.eye(2,2,dtype=int) )  )# 对角矩阵a1=[1,2,3]a2=np.mat(np.diag(a1))print(a2)# 矩阵运算a1*a2 # 矩阵相乘a3=np.multiply(a2,a2) #矩阵点乘(相同位置相乘)# 转置a2.T# 逆a2.Iprint('\n\n------- DataFrame 转矩阵 ---------')# 数值型# TXTA = pd.read_table('LR.txt',header=None,usecols = (0,1,2)) #读取为pandas DataFrame# EXCELexcel_0=pd.read_excel('DATA/excel.xlsx')# print(excel_0)# CSVdf=pd.read_csv('DATA/csv.csv')# print(df)# pandas DataFrame# 转化为矩阵# X = np.mat(A)X = np.mat(A.iloc[:,0:2]) #把前两列转为矩阵Xy = np.mat(A.iloc[:,2]).T #把第三列作为值列 向量 yprint(X[:10,:]) #矩阵操作print(X.shape) #矩阵大小 X.size 行*列# 含有字符# txtfr=open('LR.txt')group = [inst.strip().split('\t') for inst in fr.readlines()]print(type(group)) #二维数组# EXCELexcel_0=pd.read_excel('DATA/excel.xlsx')print('\n\n-------pandas DataFrame---------')# 简单表单 Seriess=pd.Series([1,3,5,np.nan,6,8])print(s)# 建立数据表格1 DataFramedates=pd.date_range('20130101',periods=6)df=pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))print(df)print(df.iloc[:,:3]) #基本操作print(df.index.max(),df.index.min())# 行标签最小 最大print(df.columns)# 列标签print(df.describe())# 详细信息describedf.T #变换坐标df.sort_values(by='B') #排序df[df.A>0] #A下数据大于0df.mean()# 取某列的不同方法# rain_col = df['precipitation']# rain_col = df.iloc[:,-1]# rain_col = df.loc[:,'precipitation']# rain_col = df[df.columns[-1]]print('\n\n-------读取 写入 文档---------')print('----------1 TXT读写-----------\n')# 写入txt_0=open('DATA/txt_0.txt','w')  # w 只写 r 只读txt_0.write('写入数据到TXT')txt_0.close()# 读取txt_1=open('DATA/txt_0.txt','r')print(txt_1.read())group =  pd.read_table('DATA/bayes.txt',header=None,usecols = (0,1,3))print('\n\n----------------2 Excel 读写-----------------------')# 1 xlsxwriter 读取写入import xlsxwriter# 写入workbook = xlsxwriter.Workbook('DATA/写入的XLSX.xlsx')worksheet = workbook.add_worksheet()N=0for i in range(101):    # print(i)    worksheet.write(N,0,i)    N=N+1workbook.close()print('写入成功')print('\n\n pandas读取写入 转为DataFrame用pd写入')# 读取import pandas as pdexcel_0=pd.read_excel('DATA/写入的XLSX.xlsx')# print(excel_0)# 写入import numpy as npnp.random.seed(20)a=np.random.randn(10,10)# a=np.mat('2,3,4;2,3,4')print(a)# 转为pandas 的 DataFramedf=pd.DataFrame(a)df.to_excel('DATA/写入的XLSX.xlsx')print('\n\n----------3 pandas 读写 csv----------------')# 写入a=np.mat('2,3,4;2,3,4')df=pd.DataFrame(a)df.to_csv('DATA/csv_0.csv')# 读取df=pd.read_csv('DATA/csv_0.csv')print(df)# 读取保存csv 添加列名group_0_1 =  pd.read_csv('DATA/Fly_0_1.csv',header=None)group_0_1.columns = ['Fly','Game','Table']print(group_0_1)group_0_1.to_csv('DATA/csv_0_2.csv',index=None,usecols = (0,1,2))print('\n\n------------pandas Json---------------------')import pandas as pdjson_str = '{"country":"Netherlands","dma_code":"0","timezone":"Europe\/Amsterdam","area_code":"0","ip":"46.19.37.108","asn":"AS196752","continent_code":"EU","isp":"Tilaa V.O.F.","longitude":5.75,"latitude":52.5,"country_code":"NL","country_code3":"NLD"}'# 读取Jsondata = pd.read_json(json_str, typ='series')print ("Series\n", data)# 写入data["country"] = "Brazil"print ("New Series\n", data.to_json())# 解析Jsonimport jsonimport requestsip = '50.78.253.58'html=requests.get('http://freegeoip.net/json/'+ip)respondjson=json.loads(html.text)print(respondjson.get('country_code'))print('\n\n----------------------cv2 图片--------------------------')import cv2import numpy as np# 读取img = cv2.imread('DATA/000.jpg')# 编辑img[50:150,50:150]=255img[:,:,2]=255img[300:600,300:600]=(200,200,0) #BGR# 显示图片cv2.imshow('2',img)cv2.waitKey()cv2.destroyAllWindows()# 写入图片cv2.imwrite('DATA/Output.jpg',img)print('\n\n----------------------可视化--------------------------')'''# 可视化# 收敛图像x1 = range(0,times,1) # 起始值 终止值 步长plt.subplot(221),plt.plot(x1,J,'r--'),plt.title('J - Itera'),plt.xlabel('Itera Times'),plt.ylabel(' J ')# 拟合函数图像x2=np.linspace(-4,4,50) #开始值 终止值 元素个数plt.subplot(222),plt.plot(A[A.iloc[:,3]==1].iloc[:,1],A[A.iloc[:,3]==1].iloc[:,2],'b*'),plt.plot(A[A.iloc[:,3]==0].iloc[:,1],A[A.iloc[:,3]==0].iloc[:,2],'ro'),plt.plot(x2,params[0,0]+params[1,0]*x2+params[2,0]*x2,'g--')plt.show()'''