2017/5/4 | numpy.array可以直接计算var mean sum等值 |
2017/5/8 | print输出%符号 需要%% prin('%d%%'%d) |
2017/5/15 | anacoda在anacoda prompt中使用pip安装 |
2017/5/19 | dataframe删除所有含Nan的列,DataFrame.dropna(axis=1) |
2017/5/19 | dataframe的拼接,使用pd.concat([df1,df2]) |
2017/5/25 | 与控制台进行交互可以通过raw_input来实现 |
2017/7/11 | pd.merge() |
2017/7/19 | np.isnan(idx_000001_daily_ohlc_tr)前面加个波浪线为非的意思 |
2017/7/21 | numpy.ndarray.tolist直接将array转换成list |
2017/7/24 | 标量:只有大小,没有方向的量;与之相对的是矢量,如力矩就是矢量,数值相同,方向不同,两者就没有可比性; |
2017/7/24 | 协方差与相关系数的关系:相关系数是消除了量纲影响的协方差,换句话说:协方差=相关系数*对应的标准差;协方差公式:Cov(X,Y)=E{[X−E(X)][Y−E(Y)]},通过相乘的方式使多变量之间建立起数值关系;协方差矩阵:两两变量之间的协方差组成 |
2017/7/25 | dataframe的轴行用0,列用1 |
2017/7/25 | PRICE_FIELDS = { 'open', 'close', 'high', 'low', 'limit_up', 'limit_down', 'acc_net_value', 'unit_net_value'}集合类型 |
2017/7/25 | figsize是plot参数,可以设置图形大小 |
2017/7/26 | 查看类的属性使用__dict__ |
2017/7/27 | sys.path.append('..')增加上一级目录,导入模块时,就可以导入父级模块 |
2017/7/28 | pd.columns的数据类型为index类型,pd.columns.values为ndarray类型,转换成列表方法:pd.columns.tolist() |
2017/7/28 | result = df.sort(['A', 'B'], ascending=[1, 0]) |
2017/7/28 | dataframe的列名为整数时,比如1,2,3访问1列时,可以使用df[1] |
2017/8/4 | dir可以直接使用在变量上,比如dir(regr),就可以看到它拥有的coef_变量 |
2017/8/4 | 机器学习中无法获得回归后详细信息,比如显著性结果,专门的统计包可以看到这些详细信息 |
2017/8/10 | list.sort中的key=可以传入函数名 |
2017/8/10 | 时间格式转换成字符串格式,直接使用str函数,例如:str(dt.datetime.now()) |
2017/8/15 | fig,axes=plt.subplots(nrows=2,ncols=1,sharex=True,sharey=False,figsize=(15,8)) ss.ix[display_start:display_end,['MA_20','MA_60','threshold']].plot(ax=axes[0]) idx_ret[display_start:display_end].plot(ax=axes[1]) axes[0].set_title('波动率') axes[1].set_title('收益率') 共用x轴,分成下上两图 |
2017/8/16 | series也可使用value_counts(),记得加括号 |
2017/8/17 | 共享x轴,使用双y轴,左右刻度;使用twinx()函数 |
2017/8/18 | 列表可以直接相加,a=[1,2]+[3,4]结果为[1,2,3,4] |
2017/8/21 | 字典合并使用update方法,dict1.update(dict2) |
2017/8/24 | dataframe排序后,索引一定要重置,即reset_index否则取值会出现问题 |
2017/9/5 | 内置round精度控制比np.round要好 举例:aa=1.3388800000000009 display(round(aa,2)) display(np.round(aa,2)) 1.34 1.3400000000000001 |
2017/9/6 | matrix的优势在于矩阵运算,当需要矩阵运算时,考虑将数据转换成矩阵 |
2017/9/12 | matrix的索引与数据框,ndarray格式完全不同,matrix[0][0][0]无论多少个[0]都是matrix格式,不可能只返回一个值 |
2017/9/18 | talib.LN为对数函数 |
2017/9/18 | 更改列名使用rename(),例:RC.rename(columns={'LON':'diff_cumsum_rc_ma','LONGMA':'ma_diff_cumsum_rc_ma'},inplace=True) |
2017/9/20 | plt.axhline画水平线 |
2017/9/22 | random.uniform在指定的范围内产生一个随机数 |
2017/9/25 | string.format 使用{}与:取代%,优势非常明显;具体查看http://www.jb51.net/article/63672.htm |
2017/9/27 | list.append与list.extend的一个区别:a=[1,2],b=[3,4] a.append(b)时,b作为一个元素添加进去,即a=[1,2,[3,4]],而a.extend(b),b作为与a的同级元素添加进去,即合并,a=[1,2,3,4] |
2017/10/13 | eval函数非常强大,将字符串中内容进行编译并返回; 例:bb="1+3" eval(bb)返回4 |
2017/10/16 | DataFrame中的drop_duplicates可以删除重复数据 |
2017/10/16 | 字典中的get用法,dict.get('a',10),如果a的值存在则返回已存在的值,否则返回第二个参数指定的值,此处为10 |
2017/10/17 | getattr获得属性的函数 |
2017/10/18 | DataFrame随机抽样sample |
2017/10/18 | 数据类型转换为列表的函数.tolist() |
2017/10/18 | 删除列与行使用drop,其功能全面,pop函数功能单一,使用好drop,pop可知可不知 |
2017/10/25 | 单引号与双引号可以相互嵌套使用,不需要使用转义符;三双引号可以保留内部源格式,可以保留注释;它们的共同点均为字符串 |
2017/11/7 | 操作符 // ,该除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字 |
2017//11/15 | dataframe获取某一行的数据使用iloc |
2017/11/15 | 在读取文件等较复杂的程序时,使用with as,可以处理异常,而且可以关闭未关闭的文件 |
2017/11/16 | 使用python.exe执行某文档就是编译 |
2017/11/27 | 获得列名的方法,list(df)就ok了,完全等同于df.columns.tolist() |
2017/11/29 | df索引为date时,df['2016-01']能获取到2016年1月份数据 |
2017/11/29 | pd.HDFStore.append函数可以重复,需谨慎处理 |
2017/11/29 | 字符串前u代表对字符串进行unicode解码,字符串前r代表非转义的原始字符 |
2017/11/29 | tile函数将指定的数据在行列方向上进行重复 |
2017/11/30 | df.新版使用sort_values |
2017/11/30 | plt.subplots_adjust(hspace=0.5)调整图与图之间的距离 |
2017/12/1 | 今天才真正理解main的意义,讲清楚两件事情,只有当前运行的文档__name__为'main',import其他文件的中代码也会被程序执行,如果被import文件中加入if __name__=="main"那该部分代码就不会执行 |
2017/12/1 | %Y代表4位数的年,%y代表两位数的年,%m代表两位数的月,%d代表两位数的日,%H代表24小时制,%M代表2位数的分,%S代表【00,61】(秒60与秒61用于闰秒) |
2017/12/4 | raw_input与input的区别,raw_input所有输入均为字符串,input的输入会自动判断类型,所以对input输入要求比较高,比如说字符串就必须加引号,而raw_input系统会自动添加上去 |
2017/12/6 | matplotlib保存图片的方式,plt.savefig(filename),便必须在plt.show前否则保存的是一片空白 |
2017/12/7 | reset_index参数中inplace=True代表删除原索引,如果为False则原索引生成新一列 |
2017/12/7 | set_xticklabels可以设置x轴的标签,需要自己通过set_xticks来设置对应的索引,因为程序默认的是1,2,3,4……的刻度,否则日期会对应不上 |
2017/12/7 | 索引重置后从0开始 |
2017/12/12 | np.where对数组满足要求的进行变化,否则保持原值; 对于arr数组,np.where(arr>0,2,arr) |
2017/12/12 | 统计满足要求的数量,例:arr=randn(100),(arr>0).sum()#返回大于0的数量 |
2017/12/12 | np.percentile位数函数,中位数np.median()等同于np.percentile(a,50) |
2017/12/12 | 当数据框索引为整型时,取行数不能用-1,但可以使用iloc[-1]来获得最后一行 |
2017/12/12 | plot在同一个ax上时,索引可以连接上 |
2017/12/12 | 更改列名,rename(columns={}),columns要写进去 |
2017/12/12 | 计算绝对值函数abs |
2017/12/14 | 使用vnew file.py新建的文档无法正确使用matplotlib,猜测vim对python3.6的不支持 |
2017/12/14 | np.newaxis可以在返回数据类型上起作用,data=np.random.randn(5,5),data[0,0]返回一个数,而data[0,0,np.newaxis]返回一个np.array格式,只包含data[0,0]的值,增加一个维度 |
2017/12/18 | df.ix[2:,'a']可以行索引后面加个冒号代表可以索引到最后一行;列亦如此,df.ix[2,'a':]可行索引到最后一列 |
2017/12/19 | for I in range(10)跳出循环后i仍然能使用 |
2017/12/19 | global全局变量,可以把局部内变量变成全局变量 |
2017/12/19 | seed = 7 ;np.random.seed(seed);设置随机种子,保证产生的随机序列是相同的;个人猜测本质是随机类是在初始化值上运用某个算法得出一列值;如果种子固定,那产生的随机序列必然相同 |
2017/12/25 | np.array([[1,2]])与np.array([1,2])的区别在于前一个是二维的,即(1L,2L);第二个是一维的,即(2L,) |
2017/12/26 | list与np.array类型都可以用负号来索引,dataframe自然就不用说了 |
2017/12/26 | "sddldlkldkjuuu%d"%int 返回一个字符串 |
2017/12/27 | os.path.exists(dir)判断目录是否存在,返回bool,os.makedirs(dir) |
2017/12/29 | list.extend(seq)添加一个序列,不能迭代的值不能放进去 |
2018/1/3 | class中的object加入为新式类,有很多高级特性;结论就是使用新式类 |
2018/1/9 | 字符串前面加u代表将字符串转换成unicode对象(即01格式的对象),而不是一直认为的u就是utf-8的意思,python程序会根据第一行的编码进行编码,而不是defaultencoding |
2018/1/9 | decode将字符串转换成unicode对象,称为解码;encode称为编码将unicode对象转换成字符串 |
2018/1/16 | dataframe数据类型的为object类型时,画图时需要将数据类型转换为numeric格式,才能画出来,否则会提示No numeric data to plot |
2018/1/19 | urllib2是python2爬虫的包,在python3中urllib2与urllib合并为urllib |
2018/1/23 | dataframe转数据类型astype,比如df.astype('float64') |
2018/1/23 | arr_one * arr_two的是两个数组的对应元素相乘,要求两个数组的shape完全一样 |
2018/1/24 | applymap将矩阵每个元素执行某个操作,map将series每个元素执行某个操作 |
2018/1/24 | UnboundLocalError: local variable 'find_predict_data' referenced before assignment意思是变量没有定义就被使用 |
2018/1/24 | 如果变量和函数一同级别定义,函数就可以识别该变量 |
2018/1/24 | flatten为Np专有函数,df格式不可以使用 |
2018/1/24 | list合并成一个字符串,str4 = ".".join(list3) 将列表中的元素相连,以双引号中的内容隔开,同时要求列表中元素为str类型 |
2018/1/24 | 一个列表中可以有多种数据类型 |
2018/1/24 | 当dataframe元素字符类型存在逗号时,保存结果会有双引号(这很容易理解,因为csv格式以逗号分割,字符串中还有逗号,为了区分这两种逗号,所以加了个双引号) |
2018/1/25 | dict(zip(df['a'],df['b']) |
2018/1/29 | iloc不仅用于行也用于列,标签到标签是包括最后一个标签的,序号(行号与列号)是不包括最后一个值的,比如说0:29如果系统判断为标签就有30个,如果系统判断为序号只有29个 |
2018/1/30 | 读取指定多少行,可以通过pd.read_csv(filename,nrow=100)来实现;内置的file函数不好实现 |
2018/1/31 | 频繁插入不要用numpy或dataframe格式,因为他们要求内存连续 |
2018/2/1 | 字典为无序数据,需要特别注意,本来一一对应的三个值,遍历时有两个值保存成字典,另外一个值为列表,最后信息没有一一对应起来 |
2018/2/5 | assert断言机制,在断言表达式后添加字符串信息,为假时就会抛出信息,比如:assert len(lists) >=5,'列表元素个数小于5' |
2018/2/5 | 生成器本质保存的是算法,进行迭代时,内存中永远只有一个数,所以非常节省内存;比如说生成100万个数的列表,非常消耗内存,但迭代时仅需要一个数,所以生成器应运而生; |
2018/2/5 | yield关键字类似于return,不同的是返回一个生成器 |
2018/2/5 | xrange是python2,python3使用range替代,返回的值也不一样,3中的range返回对象类型 |
2018/2/8 | 指定范围内的整数产生多个随机数,选择np.random.randint,自带的随机模块只能产生一个数;速度快的不只是一点点,例np.random.randint(1,7,size=(4,10,5)) |
2018/2/8 | 多维数组使用flat返回迭代器,可以用一维的方式进行索引; |
2018/2/8 | numpy从0行开始的索引可以用[:10};从10行索引到最后一行可以用[10:],这样就可以节省计算最后一行索引的代码 |
2018/2/8 | numpy获取不连续行可以用列表作为 行索引,比如 arr[[1,9,0]] |
2018/2/8 | map(fun,seq)将fun函数运用于seq的每一个元素,如果seq是三维的,那么迭代的是shape[0];比如:arr是三维(10,4,5),map(len,arr)就会对10个子元素(4,5)运用fun函数,返回每个元素的行数即4 |
2018/2/8 | set()是新建一个类,初始化中可以传入空值或是可迭代类型;对于不可迭代类型转换成集合可用{4},这样的定义就是集合 |
2018/2/8 | np.array格式可以用tolist,而dataframe格式不能用tolist |
2018/2/26 | axes与axis的区别,axes代表图的位置,比如plot中的axes=ax1; 而axis指的是轴,比如说axis=0,横坐标等;两个概念完全不一样 |
2018/2/26 | python3.6版本中的生成器没有next()方法与python2.7不同;需要使用next(one_epoch)函数 |
2018/2/26 | Plot显示label需要在plt.show()前加入plt.legend() |
2018/2/27 | pthon2的map函数返回list类型,而python3的map函数返回map对象,得到结果需要前面加个list |
2018/2/28 | pass是空语句,是为了保持程序结构的完整性;不做任何事情,一般用作占位符 |
2018/2/28 | 指定清华镜像地址下载:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lxml |
2018/3/1 | pip install -U pip setuptools cython numpy同时将多个包进行更新 |
2018/3/1 | 指定安装的版本 pip install logbook==1.10 |
2018/3/21 | and优先级高于or优先级 |
2018/3/21 | os.walk相比os.listdir而言返回更多变量,包括根目录,子文件夹与文件列表以树状形式返回,以文件为叶节点,返回的文件是包括子目录中的文件夹中的文件;listdir只返回当前子目录下的文件与文件夹名 |
2018/3/21 | sys.stdout.write()输出;print本质是调用sys.stdout.write函数加换行符;sys.stdout.flush()清空控制台已经输出的当前行 |
2018/3/21 | collections是一集集合模块,包含很多好用的集合类;比如说相对于list可以高效的删减的队列deque |
2018/3/23 | open为内置函数,f=open(文件名,'w') 如果不存在就新建,存在就不用管,f.write可以直接写入文本文档 |
2018/3/29 | c=a>b?a:b不存在这种写法;正确的c=a if a>b else b |
2018/4/19 | tf.cond类似于if else;tf(cond,fn1(),fn2()) ;cond为真时返回fn1,否则返回fn2;fn1与fn2都是函数 |
2018/4/19 | tf.Variable与tf.get_variable的功能一样,后者的不能处理同名的变量,前者自动处理 |
2018/4/19 | tf.constant_initializer()可以简写为tf.Constant()初始化为常数 |
2018/4/19 | 用到tf.placeholder,即占位符,赋值就需要用到feed_dict |
2018/4/19 | tf.control_dependencies是上下文管理器,传入的变量必有先执行,然后才执行其内部定义的操作 |
2018/4/20 | y=γ(x-μ)/σ+β,其中x是输入,y是输出,μ是均值,σ是方差,γ和β是缩放(scale)、偏移(offset)系数scale缩放,offset是平移 |
2018/4/23 | def a():pass; b=a;b也指向了a;a与b具有同样的功能; |
2018/4/24 | from sklearn.cross_validation import train_test_split; 该函数可以很好的分割样本集;新的版本已经改成from sklearn.model_selection import train_test_split |
2018/5/3 | 安装包的名字与导入的包可以不一样;pip install -U scikit-learn;而导入时import sklearn就ok了 |
2018/5/3 | numpy数组有size属性;arr=np.array([1,2,3]) arr.size的输出结果为3 |
2018/5/4 | dataframe读取的时间格式会2018/5/4转换成2018-05-04 |
2018/5/10 | 更新scikit-learn库时,使用pip更新无法成功,因为有非常多的包依赖,而pip无法准确定位;而用conda可以成功更新 |
2018/5/11 | plt.clf清除画布 |
2018/5/21 | 查看内存使用psutil |
2018/5/22 | numpy支持这种data[[1,2,3,5,6]]取数据的格式;而list不可以;而且这种格式会将数据看成一个维度的的,即只对第一维进行索引,返回的结果可以是多维的; |
2018/5/22 | 不要用tab,用空格替代tab,在linux中出现tab错误 |
2018/5/24 | 获得list奇数项,list[::2]; 或者其他任意等差数列 |
2018/5/24 | 删除列表中奇数项del list[::2] |
2018/5/29 | np.linspace(-1, 1, 30, dtype=np.float32)[:, np.newaxis]代表第二个维度要存在,而且只有一列;等同于 np.linspace(-1, 1, 30, dtype=np.float32).reshape(-1,1) |
2018/5/29 | ax.lines.remove(lines[0])删除画布上的第一条线 |
2018/5/31 | np.where可直接用在dataframe数据格式上,属于元素级的;比如:np.where(df[a]+df[b]>0.8,1,0) |
2018/6/8 | python3.6版本中的dict是有序的,打印顺序与存入顺序完全相同 |
2018/6/13 | key in dict 是会查找字典中键; if key in dict:pass |
2018/6/14 | eval()函数十分强大,官方demo解释为:将字符串str当成有效的表达式来求值并返回计算结果;比如说文本文档中保存了字典内容,使用f.read()读取的是字符串,使用eval函数就直接将字符串去掉,直接将字符串的内容当成代码来执行 |
2018/6/14 | 三维数据或者说高维数据可以保存npy的格式;保存时用np.save('aa.npy',f1);加载时用np.load('aa.npy') |
2018/7/4 | df.replace替换函数功能强大,其中一种形式matches.replace({'Germany DR': 'Germany', 'China': 'China PR'}) |
2018/7/4 | resample函数重采样,可以将时间序列从一个频率转换到另一个频率的处理过程;resample_data=data.resample('w').sum() |
2018/7/4 | Pipeline实现串行化,顺序执行一系列的数据转换,最后执行一个学习模型 |
2018/7/4 | PolynomialFeatures多项式特征转换 |
2018/7/16 | 2*le3=2000; 1e数字1与字符e组合的符号,代表10,le后面的数字为10的指数; |
2018/7/16 | # 从某一分布(由均值和标准差标识)中获得样本 mu, sigma = 0, .1 s = np.random.normal(loc=mu, scale=sigma, size=1000) |
2018/7/20 | feather是一种高效保存dataframe格式的函数 |
2018/7/31 | np.c_按行连接两个矩阵,np.r_按列连接两个矩阵 |
2018/8/6 | 自然底数,np.log默认为自然底数e;np.log10(10) |
2018/8/17 | ff=open(label_file_path,'w') ff.close() 创建空文件的方法 |
2018/8/17 | import time; time.sleep(1) 停留1s |
2018/9/13 | np.column_stack增加列 numpy.row_stack增加行 |
2018/9/18 | codecs:用codecs提供的open方法来指定打开的文件的语言编码,它会在读取的时候自动转换为内部unicode |
2018/9/20 | 二元组列表可直接创建字典;dict([(),(),()]);传入一个列表;列表中的每个元素都是一个元组;每个元组包含两个元素; |
2018/9/21 | 函数前加这个 加速运算;@numba.jit(nopython=True) |
2018/9/21 | 如果是IO密集带阻塞的任务,Python的多线程还是很不错的. 如果是CPU密集, 试试多进程好了. |
2018/9/26 | dot是矩阵乘法,*是元素级乘法 |
2018/9/27 | ps.Series.str专门为series格式处理字符串而存在的类;存在cat,split,startswith等属性; |
2018/10/7 | CUDA_VISIBLE_DEVICES=0 python train.py 运行GPU;如果没有前面那个指定,推荐系统的训练没有启用GPU; |
2018/10/8 | np.rint()四舍五入的函数 |
2018/10/10 | from sklearn.externals import joblib joblib.dump(object,'filename');这里的object可以是自己定义任何类的实例;本质是将类的变量属性都保存起来,当加载时,这些数据都可以获得; |
2018/10/10 | a=5;print(f'a={a}'):输出a=5 |
2018/10/10 | 双引号中的单引号不需要转义;反过来也是;"dd'"等同于‘dd\'' |
2018/10/15 | 中文字符串保存到csv文档,使用utf-8没有用,打开仍是乱码;而utf-8-sig就可以正常显示;Notepad无论哪种格式都可以正常打开; |
2018/10;/21 | 一个文件被import的前提是需要python filename.py后才可以的; |
2018/10/16 | list的append函数会将插入的元素原原本本的添加进去;无论被添加元素是不是列表格式; |
2018/10/17 | 类中出现与property属性同名的变量是无效的,系统只会把它当作一个属性来对待的 |
2018/10/17 | encode('utf-8')后转换为二进制 |
2018;/10/17 | sess.run(tf.random_normal([5,5])的数据类型为nd.array格式 |
2018/10/18 | //为整除符号,返回的浮点型,而不是常规认为的整数 |
2018/10/19 | pd.read_csv读取中文文档用了gb18030编码才正常显示;gb2312,utf-8都不行; |
2018/10/.19 | 使用open函数读写二进制文件需要用到b;比如说rb,wb |
2018/10/19 | 类的变量定义中不需要用逗号;我定义静态类,类中变量每一行一个,每个后面加个逗号;最后本该是128的最后返回的是(128,) |
2018/10/22 | tf.train.SummaryWriter已经被deprecated,改成tf.summary.FileWriter |
2018/10/23 | tensorflow模型是不能序列化的,无论刚训练完还是重新加载; |
2018/10/23 | list.sort()升序排列;直接使用,不需要使用赋值 |
2018/10/23 | numpy.reshape(-1,1)让一个只有几十M的程序,内存使用暴涨到42G,出现内存错误 |
2018./10/24 | logger模块的路径使用/出现编码问题,全部替换使用/;文档路径统一使用正斜杠/ |
2018/10/24 | 命令行可以使用语句:python -c 'import tensorflow as tf;sess=tf.Session();print(sess.run(tf.constant(4.0)))';python -c 执行cmd中的代码 ;python -m module.py 此时的-m可以省略 |
2018/10/26 | sys.getsizeof返回字节大小; |
2018/10/29 | 读取excel文件,使用xls_file=pd.ExcelFile(path);然后再读取工作表使用xls_file.parse("sheet1") |
2018/10/29 | 更改列名的方法:df.rename(columns={'a':'a1','b':'b1'},inplace=True) |
2018/10/29 | 对象类型中字符串输出是带引号的;但作比较的时候需要当作字符串来看的; |
2018/10/29 | 禁用GPU的好方法;os.environ["CUDA_VISIBLE_DEVICES"]="-1" |
2018/10/30 | data.columns=[name.encode('utf-8') for name in data.columns];列名全部为二进制,要成功索引,(data[b'close'].iloc[0:5];即需要在前面加个字母b |
2018/10/31 | 列表的extend函数等同于加号;例子:ss=['aaa','你好']+['安极网','贵州'] |
2018/10/31 | pd.Series格式删除nan值,直接使用dropnan函数即可 |
2018/11/2 | 获得dataframe数据类型的语句;df.dtypes; 切记是复数形式 |
2018/11/2 | 使用df.apply函数切记需要指明轴;即axis=1 |
2018/11/2 | 字符串使用*符号;s='dd' s*3 ‘dddddd' |
2018/11/4 | str函数传入list,tuple,dict,直接将其转换成了其定义的形式;换句话说,如果执行eval(str(dict))得到dict; |
2018/11/5 | shuffle_news_ids=data['ID'].values np.random.shuffle(shuffle_news_ids) |
2018/11/8 | filter_data=data[data['股票正文简称'].isin(usr_looked_stocknames)] isin函数的使用方式 |
2018/11/8 | pd.set_option('display.max_colwidth',1000);设置打印输出时的显示宽度 |
2018/11/12 | 稀疏矩阵有shape属性;即能知道行列数 |
python 知识点记录二
猜你喜欢
转载自blog.csdn.net/ningyanggege/article/details/84061907
今日推荐
周排行