python 合并word文件,在Python上的WordCloud中,我想合并两种语言

In WordCloud on Python I would like to merge two languages ​​into one picture (English, Arabic) but I was unable to add the Arabic language as you see a squares instead of words and when I call the Arabic_reshaper library and make it read the csv file It shows me the Arabic language and make the English language as a squares

wordcloud = WordCloud(

collocations = False,

width=1600, height=800,

background_color='white',

stopwords=stopwords,

max_words=150,

random_state=42,

#font_path='/Users/mac/b.TTF'

).generate(' '.join(df['body_new']))

print(wordcloud)

plt.figure(figsize=(9,8))

fig = plt.figure(1)

plt.imshow(wordcloud)

plt.axis('off')

plt.show()

YgByx.png

解决方案

I've been struggling with the same problem for a while now and the best way to deal with it is the generate_from_frequencies() function. You also need a proper font for Arabic. 'Shorooq' will work fine and available online for free. Here is a quick fix to your code:

from arabic_reshaper import arabic_reshaper

from bidi.algorithm import get_display

from nltk.corpus import stopwords

from itertools import islice

text = " ".join(line for lines in df['body_new'])

stop_ar = stopwords.words('arabic')

# add more stop words here like numbers, special characters, etc. It should be customized for your project

top_words = {}

words = text.split()

for w in words:

if w in stop_ar:

continue

else:

if w not in top_words:

top_words[w] = 1

else:

top_words[w] +=1

# Sort the dictionary of the most frequent words

top_words = {k: v for k, v in sorted(top_words.items(), key=lambda item: item[1], reverse = True)}

# select the first 150 most frequent words

def take(n, iterable):

"Return first n items of the iterable as a list"

return list(islice(iterable, n))

for_wc = take(150, top_words.items())

# you need to reshape your words to be shown properly and turn the result into a dictionary

dic_data = {}

for t in for_wc:

r = arabic_reshaper.reshape(t[0]) # connect Arabic letters

bdt = get_display(r) # right to left

dic_data[bdt] = t[1]

# Plot

wc = WordCloud(background_color="white", width=1600, height=800,max_words=400, font_path='fonts/Shoroq.ttf').generate_from_frequencies(dic_data)

plt.figure(figsize=(16,8))

plt.imshow(wc, interpolation='bilinear')

plt.axis("off")

plt.show()

Important:

get_display() or reshape() might give you error. It is because there is a weird character in your text that these functions are unable to deal with. However finding it should not be so difficult as you only use 150 words to display in your plot. Find it and add it to your Stop Words and rerun the code.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

central maven_一键发布到Maven Central的方法

central maven当我向Maven Central发布Java开源库jcabi-aspects的新版本时,我花了30秒钟的时间。 甚至更少。 最近,我发布了版本0.17.2。 您可以在Github第80期中看到所有情况: 如您所见,我向Rultor发出了命令,它向Ma…

防热服的设计数学建模_全国大学生数学建模和电子设计赛,这所驻青高校获奖山东最多...

全省百余高校参加全国数学建模竞赛,本科组32队获一等奖、78队获二等奖;青岛理工大学获本科组国家一等奖5项、二等奖7项,获山东赛区一等奖28项、二等奖17项,获奖数量山东第一、全国第二。1月4日,2019年全国大学生数学建…

每台计算机需要配置网关吗,每台计算机的IP地址和网关以及子网掩码的设置有哪些规律或者规则吗?...

满意答案hryy4082013.04.14采纳率:47% 等级:9已帮助:714人电脑之间要实现网络通信,就必须要有一个合法的ip地址。IP地址网络地址主机地址,(又称:主机号和网络号组成)ip地址的结构使我们可以在Internet上…

mysql提高吞吐量_垃圾收集:提高吞吐量

mysql提高吞吐量这篇文章的灵感来自于在内存管理术语表中碰到“ Pig in the Python ”的定义之后。 显然,该术语用于解释GC反复促进大对象世代相传的情况。 据推测,这样做的效果类似于Python吞下整个猎物,只是在消化过程中被固定住了。 在接…

honeyselect捏脸教程_动漫女生的脸怎么画?卡通漫画少女教学

动漫女生的脸怎么画?卡通漫画少女教学!我们知道,人类的审美是具有时代特征的。在不同的历史时期,人们的审美会发生变化。举个栗子:“楚王好细腰,宫中多饿死”“燕瘦环肥”、魏晋时期的男风盛行、初唐的“肤…

手机怎么进ph_明日发布,华为鸿蒙OS2.0手机版特色功能曝光

阅读本文前,请您先点击上面的蓝色字体,再点击“关注”,这样您就可以免费收到最新内容了。每天都有分享,完全是免费订阅,请放心关注。声明:本文转载自网络,如有侵权,请在后台留言联系…

清华大学 张春良 计算机系,南京张春良老师小学生信息学辅导

南师大张老师信息编程师资团队小学信息学的教学如今小学生对计算机的兴趣越来越强,使用计算机的时间也越来越多。许多聪慧的孩子无意之间,为追求控制感、成功感,沉溺进了电脑游戏,令家长、教师扼腕叹息。信息学培训,引…

json 在后天怎么接_长相显老怎么办?以同岁的马伊琍和刘敏涛为例,解析显年轻的技巧...

短发女王马伊琍和最近上热搜的刘敏涛都是1976年出生,今年44岁,但是当两人同框时,即使相同的脸型和服饰,马伊琍显得很年轻,而刘敏涛却像是隔代人,真的好尴尬。这是什么原因呢?其实她们的尴尬&…

java8 streams_当Java 8 Streams API不够用时

java8 streamsJava 8与往常一样是妥协和向后兼容的版本。 JSR-335专家组可能尚未与某些读者就某些功能的范围或可行性达成一致的版本 。 请参阅Brian Goetz关于为什么…的一些具体解释。 …Java 8默认方法中不允许“最终” …Java 8默认方法中不允许“同步” 但是今天&#…

计算机软考初级工程资料,计算机软考网络工程师复习资料及习题(一)

1、 若是serial0 is up, line protocol is up表示该端口工作正常。2、若是serial 0 is down, line protocol is down表示路由器到本地的modem之间无载波信号cd。连接串口和 modem,开启modem.看modem的发送灯td是否亮,td灯亮表示路由器有信号发送给modem.td灯若不亮,…

计算机硬盘瓶颈,为何你的电脑卡的飞起,看看是不是遇到存储瓶颈

原标题:为何你的电脑卡的飞起,看看是不是遇到存储瓶颈存储一直是笔记本电脑的性能瓶颈之一,同时还关系到电池续航时间。除了一颗性能澎湃的处理器之外,更多人困惑的是硬盘存储配置的选择。硬盘不仅有容量属性,更是影响…

JMetro版本8.6.11和11.6.11已发布

你好 JMetro的另一个版本。 这次已重新设置了2个新控件的样式,错误修复和其他一些小的调整。 我希望你们在这个陌生的时代都能安然无well。 继续阅读以获取详细信息。 新的ColorPicker样式 以下是新的ColorPicker样式LIGHT和DARK的动画: ColorPicker…

c#中overlord实例_具有Overlord的WildFly 8.1中的API管理

c#中overlord实例昨天,我简要介绍了霸王项目家族。 今天是时候进行试驾了。 API管理子项目两天前发布了1.0.0.Alpha1,并根据18个月的路线图介绍了第一组功能。 APIMan到底是什么? 它是一个API管理系统,可以嵌入到现有框架或应用程…

计算机病毒需要附着在,计算机病毒是如何传播的?

满意答案Fixedburn2019.10.24采纳率:53% 等级:8已帮助:7262人1、各种网络传播(1)电子邮件电子邮件是病毒通过互联网进行传播的主要媒介。病毒主要依附在邮件的附件中,而电子邮件本身并不产生病毒。当用户下载附件时&#xff0c…

使用适用于Java 2的AWS开发工具包的AWS DynamoDB版本字段

将任何实体上的版本属性保存到 AWS DynamoDB数据库,它仅是表示实体已修改次数的数字表示。 首次创建实体时,可以将其设置为1,然后在每次更新时递增。 好处是立竿见影的-指示实体已被修改的次数,可用于审核实体。 此外&#xff0…

win7计算机个性化设置,笔记本电脑windows7系统如何用好电脑个性化设置

笔记本电脑windows7系统想要用好电脑个性化设置,该怎么办呢,下面是学习啦小编收集整理的笔记本电脑windows7系统如何用好电脑个性化设置,希望对大家有帮助~~笔记本电脑windows7系统用好电脑个性化设置的方法右击桌面空白区域,在弹…

发动机冷启动和热启动的区别_「牛车实验室」AGM自动启停蓄电池解读 和普通蓄电池到底有什么区别...

[资讯-牛车网]为了节省燃油,越来越多的新车搭载了自动启停功能。搭载了这项功能的汽车,都会随之搭配一块独立的自动启停蓄电池,这块电池只单独为自动启停系统工作。那么同是蓄电池,自动启停电池和普通蓄电池有什么区别&#xff0c…

返回内容验签失败_邮件经常失败回弹很糟心?一定要知道这几个小知识

很多人都反应每次发送邮件,总有一部分发生失败回弹,大大影响了送达率,非常糟心!今天我们为大家整理了一些常见关于发送回弹状态的相关知识以及如何避免邮件回弹的注意事项。一、回弹状态的两种类型邮件发送失败时ESP(邮件供应服务…

用火狐录制脚本为空_功能测试——链接测试amp;脚本功能

链接测试对于页面链接功能,测试工程师需考虑其链接文字描述正确性、链接地址跳转正确性、链接触发脚本正确性、是否存在404错误等。如果是小型Web系统,链接较少,人工测试即可,如果被测对象包含很多链接,则可利用Xenu链…

笔记本电脑显示打印机服务器关闭,笔记本win10系统的打印机服务怎么禁用或重启...

笔记本win10系统的打印机服务怎么禁用或重启腾讯视频/爱奇艺/优酷/外卖 充值4折起在我们的生活中,如果打印机出错了,我们就需要关闭打印机或者重启打印机,那么笔记本的win10系统禁用/启动打印机服务方法是什么呢?下面小编告诉大家…