![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 55
euler1983
Focus on Computer vision algorithms, medical imaging and AR.
展开
-
python concat报错:plan shapes are not aligned
python将两个dataframe上下拼接到一起时,报错:“plan shapes are not aligned”然后又检查了下代码,发现对第二个dataframe调整了字段的格式,从string变成了float。所以两个dataframe要做concat,不仅字段名称应该完全相同,字段格式也应该完全相同。仔细查看了两个dataframe的columns,完全相同。原创 2023-02-01 14:58:45 · 705 阅读 · 1 评论 -
使用二阶动态规划解决方格取数
采用2维动态规划方法解决方格取数原创 2022-11-09 20:56:03 · 598 阅读 · 0 评论 -
python split()小trick
python中的split()技巧原创 2022-10-30 10:41:33 · 209 阅读 · 0 评论 -
解决docker里matplotlib和plotly画图以及保存图片时中文乱码的问题
解决docker里jupyter中文乱码的问题原创 2022-06-12 22:23:20 · 1427 阅读 · 1 评论 -
streamlit部署发布应用
streamlit很好用,可以快速搭建app。更有趣的是,还可以发布应用,真是一站式解决方案啊。今天尝试了一把,流程简单,非常nice。1. 代码传到github1.1 首先在github上建立账号,然后在本机上安装git类的工具。本人是linux系统,直接apt-get install git即可。1.2 使用github的账号在本机生成ssh-gen,参考:Connecting to GitHub with SSH - GitHub Docs将id_ed25519.pu.原创 2022-05-22 19:19:56 · 3660 阅读 · 1 评论 -
基于streamlit的表格展示-完美解决方案
问题用streamlit开发web app非常实用。但是streamlit的表格展示非常不友好,只有两个简单的接口函数:st.table(df)和st.dataframe(df)。对于字段稍微比较多的dataframe显示效果相当不友好。st.table(df)会展开所有字段,st.dataframe(df)会压缩到一起,字段名称看不清楚。主要局限为:1. 不能控制每个列的宽度。虽然接口里有width和height两个参数,但是亲测不太管用。2. 行数多的时候,会一直在页面上往下排列原创 2022-05-15 10:08:04 · 10112 阅读 · 4 评论 -
python的plt.text()用format输出unicode字符
需求用python的matplotlib里的plt.text()来在文字的前边加上特殊字符显示,例如带圈的数字。实现首先在word里找到特殊字符的unicode编码:直接输出'\u2460'没问题,可以输出想要的字符。但是如果格式化输出就会报错,比如我想循环输出1到9,就不灵了。原因是'\u'这个前缀自动会把后面的字符进行解释,如果不是合理的字符,就会报错。那怎么做呢?我们可以利用html字符中转一下:先找到\u2460的html字符,然后用chr来格原创 2022-01-27 10:58:20 · 2675 阅读 · 0 评论 -
离线环境下解决pyecharts渲染出的html网页空白的问题
在公司的内网上跑pyecharts生成的html,打开后是空白的。原因:pyecharts会自动去https://assets.pyecharts.org/assets/上拉取js,不联网的情况下就获取不到文件,所以出不了图。参考了网上的教程,但是不能直接解决,需要略作修改。下面分别对两种场景提出解决方法,一种是python直接跑在物理机上,另外一种是python跑在容器里。物理主机上运行python1. 下载pyecharts-assets-master.zip并解压上传到服务器上。原创 2021-09-01 09:20:50 · 4404 阅读 · 3 评论 -
neo4j 查询实战
1. 根据节点属性查找对应节点:其他例子: match(x:Student{studentId:'1001'}) return x 或者 match(x:Student) where x.studentId='1001' return x我的例子: 2. 根据关系查找节点其他例子: match (x)-[r:教学内容]-(y) where r.课程='语文' return x,r,y我的例子:match p=(n:`药...原创 2021-07-20 10:38:31 · 9422 阅读 · 5 评论 -
mongodb
一、安装官网没办法下载,点击链接没反应,按了F12,好歹链接能点了,下载下来的直接是个安装包,也不是可安装文件。运行monogd也失败了。一通搜,搜到这个链接里可以下载msi可安装文件:https://www.mongodb.org/dl/win32/x86_64二、启动mongodb 数据服务器在c盘下新建一个data/db的文件夹,作为mongodb存储数据库的位置。然后运行mongod.exe,成功三、运行scrapy报错:AttributeError: 'list原创 2021-07-18 21:42:15 · 258 阅读 · 0 评论 -
py37和win10下的scrapy安装和错误调试
错误1:from cryptography.hazmat.bindings._openssl import ffi, libImportError: DLL load failed: 找不到指定的程序。解决:先卸载再安装:pipuninstall pyopensslpipuninstall cryptographypipinstall pyopensslpipinstall cryptography安装pyopenssl的过程中报错:“cannot find rust...原创 2021-07-18 16:29:37 · 1426 阅读 · 0 评论 -
在Arm服务器上使用jaybedeapi操作oracle数据库
在基于arm架构的服务器上,无法使用cx_Oracle,目前使用jaybedeapi成功。1. 在arm环境的机器上安装jaybedeapi和jpype1,将如下包复制到生产环境下的site-packages下m原创 2021-06-04 11:11:29 · 989 阅读 · 0 评论 -
使用python连接oracle
背景已经有一个container运行起来了,直接在这个container里安装包,使得能够通过python读取oracle服务器。步骤1. 下载oracle-client:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html我下载的是19.5,不知为何网站上找不到19.5,只有19.10,但是应该是一样的。2. 解压缩到服务器上。由于我的容器已经做了.原创 2021-01-26 17:55:33 · 1940 阅读 · 0 评论 -
pip install 没有安装到虚拟环境
今天遇到一个奇怪的问题,利用conda create了一个虚拟环境,并激活后,再pip install,发现没有安装到虚拟环境下。如下图所示,pip安装的目录并不在med这个虚拟环境中。虚拟环境是在Anaconda3\envs\med\下正确的方法是用conda install --yes 来解决。...原创 2020-12-26 15:23:58 · 2998 阅读 · 0 评论 -
利用python计算每个月有多少天和在两个日期中按月遍历
from datetime import datey1, m1 = stlmt_date[0].year, stlmt_date[0].monthy2, m2 = stlmt_date[1].year, stlmt_date[1].monthif y1 < y2: raise Exception('起止年月有问题,{} to {}'.format(stlmt_date[0], stlmt_date[1]))import calendarfrom datetime import d.原创 2020-12-07 16:36:47 · 769 阅读 · 0 评论 -
pyspark处理数据技巧
1. 求某一列的最小最大值data.agg(F.min("dt"), F.max("dt")).show()或者用data.describe(['dt']).show()2. 普通pandas转成pyspark的pandasspark_train = spark.createDataFrame(X_train)3. VectorAssembler之后的features的格式是struct<type:tinyint,size:int,indices:array<i.原创 2020-08-20 17:39:25 · 848 阅读 · 1 评论 -
python对字典按照vlaue降序排序
按照value降序new_dict = sorted(old_dict.items(), key=lambda d: d[1], reverse=True)按照key升序new_dict = sorted(old_dict.items(), key=lambda d: d[0], reverse=False)reverse默认是False,升序原创 2020-07-15 14:30:29 · 688 阅读 · 0 评论 -
python中dict转dataframe的操作
python处理数据时,经常使用的一个套路是按照某些变量分组,然后每组里做同样的函数处理,生成一些新的数据,最后组合成一些新的数据。函数内部通常使用dict来保存新数据,最后组合成一个Dataframe。本文总结以上两个主要的操作。1. dict update首先定义一个空的字典:result = {}然后不断调用result.update({'f' : [value]})需要注意的是value一定要使用list的格式,否则会报错。2. 使用append追加dict到fra.原创 2020-06-29 09:12:46 · 3646 阅读 · 0 评论 -
python 可视化文章收集
非常清楚讲明白fig与ax的区别:https://zhuanlan.zhihu.com/p/93423829原创 2020-06-09 16:04:58 · 132 阅读 · 0 评论 -
DataFrame object has no attribute dtype
今天遇到一个很神奇的问题,下面这一段很简单的代码 for i in data.columns: if data[i].dtype=='bool': data[i] = data[i].astype('object')报错:'DataFrame' object has no attribute 'dtype' .dtype按说不应该啊,后来发现是因素dataframe里有重复的变量。data[i]是不是一个变量,是一个dataframe...原创 2020-05-28 16:03:43 · 13929 阅读 · 2 评论 -
使用Anaconda建立虚拟环境隔离不同的安装包
通过Anaconda中的conda包管理,可以建立不同的虚拟环境,就像docker一样,每个虚拟环境中的可以安装不同版本的包,避免互相冲突。具体操作如下:1、首先在所在系统中安装Anaconda。可以打开命令行输入conda -V检验是否安装以及当前conda的版本。2、conda常用的命令。 1)conda list 查看安装了哪些包。 2)conda env list 或 conda info -e 查看当前存在哪些虚拟环境 3)conda update c...原创 2020-05-21 16:35:04 · 4555 阅读 · 1 评论 -
对python中的多元线性回归的结果画森林图
对python中的多元线性回归的结果画森林图:plt.figure()plt.errorbar(y=range(len(res_sum)), x=res_sum['coef'], xerr=res_sum['[0.025']-res_sum['0.975]'],fmt='o', capsize=3, markersize=7, mfc="red", mec="r...原创 2020-05-08 16:24:03 · 3315 阅读 · 0 评论 -
存在分类变量时分别利用SPSS和python做多元线性回归
1. SPSS当存在分类变量时,需要首先处理成多个哑变量,例如将年龄分成三个:age<18, age18_60, age>60。然后在SPSS里纳入除了ref的所有哑变量,例如我们要将18-60作为参考组,就纳入age<18和age>60,不要纳入age18-60。首先可以选择stepwise进行特征筛选建模。但是勾选逐步后,不能enable Bootstrap...原创 2020-05-07 17:26:02 · 6966 阅读 · 0 评论 -
python里的分类模型
python里有两个包可以做分类模型,一个是sm.logit,另外一个是sklearn里的logisticRegression。sm.logit能给出p value,但只针对于二分类。logisticRegression可以做多分类,但是不能给出p value要想做多分类且有p value的,只能用SPSS的有序多分类了?...原创 2020-05-07 10:11:09 · 656 阅读 · 0 评论 -
TableOne中的非参检验
python中的TableOne库中用的非参检验是KW方法。而stats库中常用的是一种非参是Mann-Whitney U检验:statistic,pval = stats.mannwhitneyu(x,y)这两组有什么区别呢?答:Kurskal-Wallis检验是Wilcoxon方法(其实是Mann-Whitney检验)用于多于两个样本的时候的升级版。当对两个样本...原创 2020-03-26 18:31:25 · 822 阅读 · 0 评论 -
xgboost + hyperopt 调参套路
1. 手动设置超参数:有时候为了节省时间快速验证不用工具进行调参,手动设定超参数,此时一般设置成70%的train, 10%的validation, 20%的test。由于fit的过程是不断增加tree,所以在train上fit的时候,设置validation set,当在validation上loss不再下降的时候,就停止fit,这样可以避免在train上过拟合。2. 利用工具...原创 2020-03-12 11:32:10 · 1552 阅读 · 1 评论 -
jupyter-notebook中调用Shell变量
我们都知道在juypter中可以通过!来调用Shell的一些命令,例如!ls, !rm。但如果涉及到变量的话,和传统的linux中shell脚本的处理还是有些不同。没有看到相关的资料,今天试了很多次终于试出来了。如下图所示,如果想将变量a单独显示是没有问题的,用法和shell脚本中的用法一样,直接前面加个$号就可以。但是如果想要将变量嵌入到其他字符中,就不好使了,直接被隐身了。...原创 2020-02-29 17:36:18 · 5462 阅读 · 0 评论 -
python matplotlib图像中负号显示为方框
matplotlib中画图的时候,会遇到负号显示为方框的问题,如下图:这种情况可以进行如下设置:plt.rcParams['axes.unicode_minus'] = False原创 2020-02-29 09:12:24 · 3157 阅读 · 0 评论 -
python将多个matplotlib画的图保存到一张图里
方法1:用pdffrom matplotlib.backends.backend_pdf import PdfPagesimport matplotlib.pyplot as pltwith PdfPages('multipage_pdf.pdf') as pdf: model1, model2 = m1['model'], m2['model'] X_train1,...原创 2020-02-29 09:02:45 · 3693 阅读 · 0 评论 -
dataframe中object类型转变为int类型
当dataframe中含有''这样的空字符时,直接用.astype('int')会出错。此时可以用pd.to_numeric()来进行转换。原创 2020-02-25 08:09:33 · 19907 阅读 · 4 评论 -
tableone比较两组数据时各个组的均值方差均相同
今天用table比较两个组的差异,数据是用两个dataframe竖向拼接起来的。然后用table进行检验:columns = ['diff', 'label']categorical = []nonnormal = []groupby = 'label'mytable = TableOne(val_stats, columns, categorical, groupby, non...原创 2020-01-31 15:03:38 · 1130 阅读 · 0 评论 -
对带有时区的时间变量去掉时区
python处理数据时报错:TypeError: Cannot compare tz-naive and tz-aware datetime-like objects原因:带时区的与不带时区的变量进行操作:解决方法:去掉时区:df['datetime'] = df['datetime'].apply(lambda x: x.strftime('%Y-%m-%d %H:%M:%S'))...原创 2019-07-31 13:32:37 · 3592 阅读 · 0 评论 -
ubuntu下Couldn't import dot_parser, loading of dot files will not be possible的问题
在http://stackoverflow.com/questions/15951748/pydot-and-graphviz-error-couldnt-import-dot-parser-loading-of-dot-files-will里讲的很清楚了,主要是由于pydotpip uninstall pydot,然后安装pydot2就可以了。原创 2017-04-22 18:43:13 · 2015 阅读 · 0 评论