![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
文章平均质量分 54
用python进行数据分析与挖掘
Javy Wang
学无止境 气有浩然
展开
-
一行代码快速调整dataframe列顺序
很多时候,我们往dataframe添加列数据是依次添加的,也就是默认接在后面,但是我们最后希望有些列能够显示在前面,那么就需要调整dataframe的列顺序,有一种简单的方法可以快速实现这一需求,一行代码就行。df.reindex(columns=column_name) # column_name 设置为期望的排列顺序方法的使用见官方说明。pandas.DataFrame.reindex下面举个小例子。注意,reindex方法不会对原dataframe进行修改,而是返回一个副本,所以要想得原创 2020-09-17 22:11:15 · 2786 阅读 · 0 评论 -
远程访问Ubuntu服务器上的Jupyterlab / Jupyter notebook
文章目录创建配置文件设置Jupyter远程访问密码修改配置文件打开 jupyter lab在前面的文章中,我们已经详细介绍了如何零起步安装Anaconda和Jupyter Lab。下面我们就来看看如何配置能够远程访问Jupyter Lab服务器。创建配置文件连接上远程服务器后,可以查看一下jupyter的配置文件,目录为:如果没有找到这个目录及下面的配置文件,那么就需要在终端运行如下命令:jupyter notebook --generate-config可以看到创建了一个目录和配置文件原创 2020-09-16 21:39:12 · 1407 阅读 · 0 评论 -
用Bokeh开发的精彩应用
Bokeh是一个非常出色的可视化框架,简单易用,上手很快。这篇博文主要是将近期看到的一些用bokeh开发的应用收集起来,供大家参考。实时数据流可视化嵌入Bokeh的Flask应用Dashboard开发原创 2020-08-18 16:25:20 · 437 阅读 · 0 评论 -
conda create --prefix 命令安装虚拟环境到指定路径报错
安装conda虚拟环境到指定路径时,很多教程介绍如下命令conda create --prefix=/usr/local/py36 python=3.6但是我在两台不同的ubuntu服务器上使用上述命令却出现了不同的结果,一台成功安装,另一台报错。最后试了很多次,发现使用conda create --p命令成功了,如下所示百思不得解就去看了一些官方文档,发现正确的命令是conda create -p,p就表示prefix。也就是说conda create -p和conda create --原创 2020-07-17 21:50:53 · 12048 阅读 · 7 评论 -
只用20行python代码爬取必应高质量图片
最近需要一些数据来训练神经网络,发现必应上照片的质量很高,于是写了个脚本来爬取照片。我用的selenium框架,简单实用,代码在最后面,只需要修改三个参数就行。下面简单介绍一下使用步骤。先打开必应网站,在搜索栏里输入自己要爬取图片的关键词(如“企鹅”),再选择图片,如下所示然后点击第一张图片查看原图(否则这一页都是缩略图),进入如下页面然后复制上面的链接,粘贴到代码里面driver.get()中,再设置一下爬取上限和保存路径就可以了。代码如下# -*-.coding: utf-8 -*-原创 2020-07-16 11:14:22 · 1197 阅读 · 1 评论 -
Ubuntu+Anaconda+JupyterLab+Bokeh 远程配置交互式Web可视化开发环境
文章目录0. 环境说明1. 安装配置1.1 Anaconda 安装下载安装配置1.2 JupyterLab 安装创建虚拟环境并安装激活虚拟环境打开JupyterLab1.3 Bokeh 安装2. 启动Web可视化应用2.1 上传文件2.2 启动bokeh服务2.3 安装依赖包2.4 打开Web可视化应用0. 环境说明服务器 华为 RH2288 V3硬件配置 Intel® Xeon® CPU E5-2650 v4 @ 2.20GHz 64位操作系统 Ubuntu 18.04.2 LT原创 2020-07-03 23:38:09 · 1357 阅读 · 1 评论 -
Bokeh绘制复杂网络但Web页面中的图不更新
最近学习用Bokeh库来开发web可视化应用,发现Bokeh真是一个强大的工具,但是在绘制复杂网络时遇到了一个问题,就是在web交互界面调整参数图却没有变化,一直都是最开始的图。以下是一个简单实例,就是绘制一个节点数量可调的BA网络,在Web页面调整节点数量得到不同BA网络,代码如下:import networkx as nxfrom bokeh.io import curdocfrom bokeh.layouts import column, rowfrom bokeh.models impor原创 2020-06-29 20:39:06 · 549 阅读 · 0 评论 -
JupyterLab Debug工具安装教程(Mac版)
提前声明,本文是面向MacBook用户的。1. JupyterLab 介绍最近看到Jupyter推出了Debug工具,也想学习一下。首款 Jupyter 官方可视化 Debug 工具,JupyterLab 未来可默认支持 Debug由于之前一直用的是Jupyter Notebook,而新款的debug工具需要在JupyterLab中才能使用,因此首先要安装一下JupyterLab。JupyterLab的安装教程JupyterLab的一些好用的插件2. JupyterLab 安装2.1 机.原创 2020-06-23 12:48:53 · 4118 阅读 · 3 评论 -
python用product函数来生成N位二进制数的全排列
在python中,实现了组合函数combinations 和排列函数permutations。两个函数都在itertools包中。比如用permutations函数可以得到一个列表所有元素的全排列。import itertools as its = list(it.permutations(range(3), 3))print(s)输出但是,有时候想得到N位二进制数的全排列,比如3...原创 2020-04-01 00:14:51 · 2252 阅读 · 1 评论 -
社区发现可视化(python3+networkx)
网上搜了一些社区发现可视化的代码,发现GitHub上有几个不错的可视化案例,如https://github.com/networkanddatasciencelab/SNA-Community-Detectionhttps://github.com/networkanddatasciencelab/Network_Analytical_Notebookshttps://github.com/...原创 2019-12-23 18:59:51 · 8884 阅读 · 6 评论 -
python matplotlib 绘图操作
横坐标值由大到小逆序显示逆序前的代码和图import matplotlib.pyplot as pltplt.figure()ax1 = plt.subplot(111)x_list = [1, 2, 3, 4, 5]y_list = [5, 10, 20, 40, 80]plt.sca(ax1)plt.title("Test 1")plt.xlabel("X")plt.yl...原创 2019-07-26 22:49:04 · 1665 阅读 · 0 评论 -
Python不重复批量随机抽样 random.sample() 和 numpy.random.choice() 的优缺点
python中random.sample()方法可以随机地从指定列表中提取出N个不同的元素,列表的维数没有限制。有文章指出:在实践中发现,当N的值比较大的时候,该方法执行速度很慢。可以用numpy random模块中的choice方法来提升随机提取的效率。但是,numpy.random.choice() 对抽样对象有要求,必须是整数或者一维数组(列表),不能对超过一维的数据进行抽样,这是其缺点...原创 2019-05-29 11:15:13 · 76706 阅读 · 8 评论 -
本地Pycharm+远程Ubuntu服务器调试代码
最近发现可以在本地(自己电脑上)打开Pycharm,用远程服务器的Python编译环境调试代码,这样可以利用服务器的高性能CPU和GPU资源。操作比较简单,只要将Python编译器修改为远程服务器上的编译器即可。第一步进入setting找到 project interpreter第二步点击 add 添加 interpreter第三步输入远程Ubuntu服务器地址和用户名输入密...原创 2019-05-07 14:13:22 · 1017 阅读 · 3 评论 -
python 中文字符串比较(判断是否包含给定中文字符)
python3中可以直接对中文字符串进行操作,比如判断某中文字符串中是否包含给定中文字符串。ch_str1 = '神经张量网络'ch_str2 = ['神经','张量','网络','神网','量网','量络']for i in ch_str2: if i in ch_str1: print('yes') else: print('no')结...原创 2019-01-17 18:30:18 · 12728 阅读 · 1 评论 -
Windows10下 AttributeError: module 'community' has no attribute 'best_partition' 问题的解决
今天用到著名的社团检测算法Louvain时,发现GitHub上有一个非常成熟的包,地址如下:https://github.com/JavyWang/python-louvain但是,导入包的方式有点奇怪,用的不是包名“python-louvain”而是“community”,在jupyter中运行的时候出现标题中的错误:AttributeError: module ‘community’ ha...原创 2019-01-04 20:43:28 · 6325 阅读 · 9 评论 -
Jupyter 各种主题(附图)
安装和更新主题# 安装jupyter主题pip install jupyterthemes# 加载可用主题列表jt -l可用主题列表Available Themes: chesterish grade3 gruvboxd gruvboxl monokai oceans16 onedork solarizedd solarizedl...原创 2018-12-27 20:25:25 · 27805 阅读 · 12 评论 -
macOS系统 Pycharm同步GitHub失败
在Pycharm里上传项目到GitHub失败,显示错误如下:Push rejected: Push to origin/master was rejected然后通过git尝试上传该项目到GitHub,同样失败,显示错误如下图:个人估计这是同一个错误,于是在网上找到了这样一篇文章,介绍如何解决git上传项目remote rejected问题。文章链接:https://blog.csdn...原创 2018-09-26 22:10:37 · 1456 阅读 · 0 评论 -
macOS系统 Pycharm克隆GitHub项目到本地
刚开始根据网上的教程,在Pycharm菜单栏VCS里面找到“Checkout from Version Control”,结果发现里面没有GitHub这个选项,如下图所示:我以为是设置里面没有配置好,于是转到Preferences里面检查了一下,看到GitHub账号已经存在,没有什么问题。突然想到昨天将git里面的邮箱改为了GitHub的推荐邮箱,是不是要重新配置一下,于是将Pycharm...原创 2018-09-27 21:46:15 · 2946 阅读 · 0 评论 -
Pycharm复制代码时括弧前出现空格
今天在pycharm里面复制代码时,出现了一个问题,复制完一段代码后,括弧前都自动添加了一个空格,如下图:这是源代码:files = os.listdir(data_path)count_of_files = len(files)print(count_of_files)复制后成这样开始很纳闷,网上找了很久没找到解决方案,后来自己看了下pycharm的提示发现了问题所在。应该是...原创 2018-10-14 19:11:13 · 3776 阅读 · 0 评论 -
Ubuntu安装python3-tk
感觉python3-tk就是个坑,网上的教程看了一大堆,方法也是千奇百怪,估计每个人遇到情况都可能不太一样。以下就将自己的经历贴出来,以供大家参考。问题基本上都一样,如下所示Traceback (most recent call last): File "/home/hadoop/PycharmProjects/wjw/ftdd/ftdd/fdfds2011.py", line 9, ...原创 2018-10-28 12:54:54 · 14513 阅读 · 3 评论 -
Spark DataFrame 添加索引列的三种方法
Spark DataFrame 添加索引列的两种方法刚开始用Spark,操作dataframe不是很熟练,遇到的第一个问题是给dataframe添加索引列,查阅了网上的一些教程,大都是用Scala语言编写的代码,下面给出自己用python写的三种方法。方法一:先创建Pandas版本的dataframe,然后带索引保存为本地文件,再用SparkSession来创建DataFrame。方法二:...原创 2018-10-25 21:39:22 · 20361 阅读 · 5 评论 -
远程Spark+Python+Pycharm操作指南
首先说明一下,本文适合Windows系统远程登录Ubuntu服务器,使用Pycharm编写Spark应用程序。操作过程参考了很多网上教程,链接都在文中给出。1. 准备工作1.1 安装MobaXterm这是一款很适合Windows系统的远程控制工具,具体介绍和使用可以参考这篇文章。1.2 安装Hadoop参考教程,里面包含了Hadoop和JDK的安装和使用的详细步骤。1.3 安装spar...原创 2018-10-24 20:23:01 · 1597 阅读 · 0 评论 -
Pandas Dataframe用法大全
最近python处理数据用dataframe用的比较多,经常遇到一些操作需要上网查询,看看用什么方法比较快捷,故在此将一些常用的操作做成一个图谱,并简单介绍了一些方法的使用,最开始是想方便自己,贴在这里也希望有助于大家。...原创 2018-11-03 16:54:28 · 1377 阅读 · 0 评论 -
DataFrame.apply与GroupBy.apply的用法
DataFrame.apply的用法DataFrame.apply操作的对象是DataFrame的一行或者一列,通过axis来指定行或者列,最终返回的类型取决于apply函数操作的结果。对行进行操作添加新行df = pd.DataFrame({'A': [1, 1, 1, 1, 2, 2, 3, 3], 'B': np.arange(8), 'C': [4, 1, 2, 1, 6, 3, ...原创 2018-11-05 11:46:19 · 16637 阅读 · 0 评论 -
使用concat合并两个dataframe报错
使用concat合并两个dataframe报错TypeError: cannot concatenate object of type "<class 'str'>"; only pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid显示说不能合并字符串类型的对象,我的两个df如原创 2018-11-08 20:53:38 · 32594 阅读 · 7 评论 -
Python 常见数值操作
开平方import mathmath.sqrt(36)Out[3]: 6.0计算幂import mathmath.pow(6, 2)Out[4]: 36.0取绝对值abs()是python3 内置函数a = -2b = -3c = abs(a + b)print(c)Out[5]: 5根据两点经纬度计算距离# transfer the latitude and...原创 2018-11-08 20:55:53 · 554 阅读 · 0 评论 -
Python 计算任意两向量之间的夹角
如图所示,我们要计算任意两个向量之间的夹角。(图中的坐标数字是估计值,随手给定)python代码如下import math AB = [1,-3,5,-1]CD = [4,1,4.5,4.5]EF = [2,5,-2,6]PQ = [-3,-4,1,-6]def angle(v1, v2): dx1 = v1[2] - v1[0] dy1 = v1[3] - ...原创 2018-11-19 19:38:42 · 21242 阅读 · 3 评论 -
Python 字典操作图谱
原创 2018-12-04 14:36:34 · 497 阅读 · 0 评论 -
Python 列表操作图谱
原创 2018-12-12 22:27:00 · 263 阅读 · 0 评论 -
PyCharm 安装 Anaconda for Mac Pro
刚入手Mac Pro,开始配置python开发环境,本人习惯使用Pycharm,一般用于科学计算/ 数据挖掘/ 复杂网络/ 机器学习等,不想使用Pycharm自带的pip工具一个一个的安装Numpy、Scipy、Matlotlib、Scikit-learn、Networkx等库,所以打算安装Anaconda一起解决。Anaconda 5.2 for macOS 里面包含的常用库python ...原创 2018-09-25 16:11:55 · 2868 阅读 · 2 评论