分类 技术 中的文章

python3绘制炫酷的红楼梦词云

词云,相信大家都看到过,这是一个使用python的著名的词云工具wordcloud库绘制而成的,本文将详细介绍如何使用wordcloud绘制中国四大名著之一的《红楼梦》的词云。

1.准备工作

包括3部分:

2.wordcloud库和jieba库,可使用pip install wordcloud,pip install jieba进行安装

3.准备中文字体文件

txt文本文件和字体文件已打包,以方便大家直接复现本教程实例。

2.绘制《红楼梦》词云

直接上代码:

    from wordcloud import WordCloud
    import jieba
    text = "".join(jieba.cut(open("红楼梦.txt").read()))
    wordcloud = WordCloud(font_path="kaibold.ttf").generate(text)

    # Display the generated image:
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis("off")
    plt.margins(x=0, y=0)
    plt.show()

《python3绘制炫酷的红楼梦词云》

……

阅读全文

python生成器generator,yield

在python学习过程中,像这些使用if else流程控制或者说函数的定义和使用都比较好理解,但是生成器是一个相对来说很难理解的概念,使用也就相对困难,本文将详细解析python里面的生成器……

阅读全文

TypeError: ufunc 'isnan' not supported for the input types解决办法

今天在使用python的seaborn画热图(clustermap)的时候,发现了总是出现这个错误,而且可以知道自己的数据完全是符合条件的,在搜索了谷歌后也没有找到好的解决方法,经过摸索后这里把最终解决方法告诉大家。

1.生成dataframe

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    from seaborn import clustermap
    import seaborn as sns; sns.set(color_codes=True)
    df = pd.DataFrame([["a","b","c","d","e","f"],[1,2,3,4,5,6],[2,3,4,5,6,7],[3,4,5,6,7,8]],  columns=list('ABCDEF')).T
    df
    g = sns.clustermap(df.iloc[:,1:],cmap="PiYG")

生成dataframe并转置后,出现类型错误,TypeError: ufunc ‘isnan’ not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ”safe”

……

阅读全文

python实现酷狗音乐mp3下载

python实现千千音乐mp3下载 后小伙伴使用发现很多音乐在千千音乐都搜不到,所以今天春江暮客就拓展了一下酷狗音乐的下载,有源码。

同样的配方,首先在酷狗官网上直接搜索歌曲,然后打开谷歌浏览器的网络监视器,再次搜索同样的关键字就可以发现接口信息(注:此处最好再次搜索的时候查看网络,可以剔除很多多余的信息)。

1.分析搜索接口信息

《python实现酷狗音乐mp3下载》 只有4条网络请求,可以很方便的知道是第一条请求是真正的返回了歌曲信息,因此构造此条请求即可。

……

阅读全文

python3中NetworkX网络图绘制

NetworkX是一个用于研究图形和网络的Python库。 NetworkX是根据BSD-new许可证发布的免费软件。可用于创造和操作复杂网络,学习复杂网络的结构及其功能。 

有了NetworkX你就可以用标准或者不标准的数据格式加载或者存储网络,它可以产生许多种类的随机网络或经典网络,也可以分析网络结构,建立网络模型,设计新的网络算法,绘制网络。

……

阅读全文

python3搭配selenium实现12306抢票程序

春节临近了,小伙伴们都在忙着抢票了,很多人总是被各种乱七八糟的抢票程序误导,诱骗,不如自己用python写一个12306抢票脚本好了。

言归正传,有了需求自然就要实现。技术部分,抢票程序由selenium驱动chrome进行,主要分为几下几部分。(别问我为什么不直接用requests买,有点难0-0)

……

阅读全文

seaborn画小提琴图(violin plot)

简介

小提琴图是用来展示多组数据的分布状态以及概率密度。跟箱线图类似,但是可以密度层面展示更好。在数据量非常大不方便一个一个展示的时候小提琴图特别适用。而python里面的seaborn包可以很方便的画出小提琴图。

参数

《seaborn画小提琴图(violin plot)》

小提琴图各位置对应参数,中间一条就是箱线图数据,25%,50%,75%位置,细线区间为95%置信区间。

……

阅读全文

python里shadowcopy和deepcopy的区别

python中,经常会需要拷贝特定对象,在此可能就会遇到各种bug,原因就是明白这三种操作的区别,赋值,浅拷贝,深拷贝。

《python里shadowcopy和deepcopy的区别》

赋值(=),浅拷贝(copy)和深拷贝(deepcopy)比较容易区别开的是赋值和两种拷贝的区别,但是对于浅拷贝和深拷贝却不那么容易区分。

赋值语句并不会赋值对象,它仅仅是把变量和对象进行一个绑定。对一个对象的任何改变均会影响另一个对象。而拷贝可以在你改变其中一个对象的时候不改变另一个对象。

……

阅读全文

人工神经网络初探

人工神经网络(Artificial Neural Network,ANN),简称神经网络(Neural Network,NN)或类神经网络,是一种模仿生物神经网络的结构和功能的数学模型。它由大量神经元联结进行运算,大多数情况下人工神经网络能够在外界信息的基础上改变内部结构,是一种自适应系统,通俗的讲就是具备学习功能……

阅读全文