关注分享主机优惠活动
国内外VPS云服务器

我现在有了更多的知识! 这 8 个很少使用但有用的 Python 库非常棒。

摘要:我们欢迎您重点介绍用于数据分析和数据挖掘的有趣工具。 在本文中,我将向您介绍一些您可能没有听说过的工具包,但它们对于特定问题和任务非常实用。 技术交流群列于文末。 欢迎大家。 我们一起来学习、讨论吧。

欢迎关注,关注Python、数据分析、数据挖掘、好玩的工具。

在本文中,我们介绍了一些您可能没有听说过的工具包,但它们对于特定问题和任务非常实用。 技术交流群列于文末。 大家可以一起学习、讨论。

要使用上述Python库,首先从Kaggle – Animal Care and Control Adopted Animals下载数据。

https://www.kaggle.com/jinbonnie/animal -data

Pandas pddf = pd.read_csv("animal-data-1.csv") 导入as print("宠物数量:", len(df))print(df.head) (3))

宠物数量:10290

id 输入日期 输入原因 istransfer Housingcode / 0 15801 2009[ k4]11 -28 00:00:00 移动 0 C09115463 1 15932 2009-12-]08 00:00:00移动 0 D09125594 2 28859 2012-08-10 00:00:00 放弃 0 D12082309 identichipnumber 动物名称 品种名称 基本颜色 物种名称 / 0 0A115D7358 Jadzia 家养短毛三色猫 1 0A11675477 Gonzo 德国牧羊犬/混合舌狗 2 0A13253C7B Maggie Shepp Mix/西伯利亚哈士奇 各种狗 ... Movementdate Movementtype istrial returndate returnsreason / 0 ... 2017-05-13 00:00:00 收养 0.0 NaN 流浪狗 ​​1 ... 2017 [k4 ]04-24 00:00:00 采用 0.0 NaN 浮动 2 ... 2017-04-15 00:00:00 采用 0.0 NaN 浮动 死亡日期 死亡ason Deadoffshelter puttosleep isdoa 0 NaN 在被照顾时死亡 0 0 0 1 NaN 在被照顾时死亡 0 0 0 2 NaN 在被照顾时死亡 0 0 0 [3 行 x 23 列]

让我们介绍一下让这些Python库。

1. Missingno

Missingno用于显示数据集中的缺失值,在数据分析中非常有用。 您还可以将其变成热图或条形图,以更直观地查看缺失值。

矩阵-类似于seaborn的缺失值热图,可以显示到密度。 数据集中有 50 列。 您还可以使用右侧的迷你图来观察数据集中的缺失情况。

条形图-表示案例列表中的缺失值。

热图 - 显示缺失值。 相关性本质上揭示了一个变量的存在或不存在对另一变量的存在的影响程度。 没有缺失值或没有值的列不会出现在这里。

树状图 - 树状图类似于热图,显示列之间缺失的相关性。 它与热图的不同之处在于它通过一系列列揭示相关性。

让我们仔细看看这些图表

import Missingno as msnomsno.matrix(df)

msno.bar(df)

msno .heatmap(df)

msno.dendrogram(df)

missingno图表,您还可以自定义一些参数。

msno.matrix( df, Figsize=(25,7), fontsize=30, sort="descending", color=(0.494, 0.184, 0.556), width_ratios=(10, 1) )

最后,你还可以将它与matplotlib结合起来,创建更漂亮的图表。 导入 matplotlib.pyplot 作为 pltmsno.matrix( df, Figsize=( 25,7), fontsize=30, sort="descending", color=(0.494, 0.184, 0.556), width_ratios=(10, 1) , inline=False )plt.title("Missing Value Pet Dataset", fontsize= 55)plt.show()

2. 表格创建

这个库允许您在 Python 中打印漂亮的表格。 、智能且可自定义的列排列、数字和文本格式、小数点位置以及帮助您进行数据分析过程的工具。 支持的数据类型包括数据框、列表或字典列表、字典和 NumPy 数组。 从表格导入 tabulatedf_pretty_printed = df.iloc[:5, [1,2,4,6]]print(制表(df_pretty_printed)) - ------- ----------------[k4 ] ]---------------- k4]----0 Jadzia 国内短毛猫 雌性流浪 1 Gonzo 德国牧羊犬/混合型 雄性流浪 2 Maggie Shep 混合/西伯利亚哈士奇 雌性流浪 3 美少女 国内短毛 雌性流浪 4 美少女 国内短毛头发女流浪者 - ----------- --[k4 ][k4 ][ k4]--------------[ k4][ k4] -- ------ -----

表头也可以定制。 使用参数标题

print(tabulate( df_pretty_printed, headers="keys", tablefmt="fancy_grid", stralign="center" )) │ │ 动物名称 │ 品种名称 │ 性别名称 │ 返回原因 │╞════╪════════ ══ ════╪═════════════════════════╪═════════ ═══╪══════ ═════ ═══════╡│ 0 │ Jadzia │ 国产短发 │ 女 │ 流浪 │ ├───┼──────────┼─── ──── ─ ──────────┼──────── ────┤│ 1 │ 奇闻趣事 │ 德国牧羊犬/混种 │ 雄性 │ 流浪狗​​│§────┼──── ────┼──── ──────────┼─────┼────────┤│ 2 │ Maggie │ 混种羊/哈士奇 │ 女 │ 流浪狗​​│§── ──┼────────┼──────── ──────┼──────┼────────┤│ 3 │ 美丽的女孩│ 国产短发 │ 女│ 流浪 │§────┼────────┼──────────┼ ──────┼────────┤│ 4 │ 美丽的女孩│ 国产短发 │ 女 │ 流浪 │╘════ ╧ ====================== ╧════════════ ╧══════════════════╛

但是该库打印的表格数据在手机屏幕上存在一定的兼容性问题,才会出现该问题。 为了获得最佳的显示效果

3. 维基百科

维基百科库让您轻松访问维基百科信息并检索数据。

该库的主要特点是:

p>

搜索维基百科 - search()

获取文章摘要 - 摘要

包含图像、链接等的完整页面。获取内容。 - Page( )

选择语言 - set_lang()

使用上述数据集中的西伯利亚哈士奇作为关键字,并将其设置为俄语在维基百科上搜索并显示。结果导入 wikipediawikipedia.set_lang("ru")print(wikipedia.search("西伯利亚哈士奇")) ивер Хаски" , "Пород ы собак по клак" ссификации кинологических организаций ", ичардсон, Кевин Май кл"]

显示第一个搜索结果的第一段

print(wikipedia.summary("Сибирский хаски",text=1)) - 1930-х годах как ездовая обака, полученна от аборигенннх собакы него沃斯托卡России, в основном из Анадыря, , Камчатки у местных ос (приморские, поморы — от анкы (море))。

我们再获取一下图片信息

print(wikipedia.page("Сибирский хаски").images[0])

就可以获取到图片了

4. Wget

这位同学熟悉Linux的人应该知道,有一个很有用的用于下载文件的shell命令,也叫wget。 这个Python 库具有相同的功能。

让我们下载上面的哈士奇照片

import wgetwget.download("wp-content/uploads/wis2ouvqz32.jpg") "Black-Magic-Big-Boy.jpg"

当然使用这个库下载也可以轻松创建 HTML 文件

wget.download("https://www.kaggle.com/jinbonnie/animal-data") "animal-data"

内容类似:

动物护理和控制收养动物 | Kaggle 5. Faker

该库用于生成虚假数据,可以生成姓名、电子邮件地址和电话号码,支持职位、句子、颜色、货币等虚假数据更多,而且还支持本地化,即使用当前工作语言环境作为参数来伪造当前语言的数据,这非常周到。 .color(), "/n" "Fake job:" , fake.job(), "/n" "Fake email:" , fake.email() , "/n" )# 打印假韩语和葡萄牙语列表地址 fake = Faker([" ko_KR", "pt_BR"])for _ in range(5): print(fake.unique.address ()) # 使用 `.unique` 属性 print("/n")# 分配种子编号并打印我会始终相同的值/数据 setfake = Faker()Faker.seed(3920)print("这个英文假名总是相同的:", fake.name()) 假颜色:#212591 假工作:职业治疗 假电子邮件: nancymoody@ hotmail.comEstrada Lavínia da Luz, 62Oeste85775858 Moura / SEResidencial de Moreira, 57Morro Dos Macacos75273529 Farias / TO세종특별자치시강남구ς락거리(예 원박) 김) 마 这个英文笔名始终如一:Kim Lopez 返回动物data

df_bad_names = df[df["animalname"].str.contains( "Stink|Pooh")]print(df_bad_names) identichipnumber 动物名称 品种名称 物种名称 性别名称 /1692 NaN Stinker Domestic Shorthair Cat Male 3336 981020023417175小熊维尼德国牧羊犬女 3337 981020023417175Pooh 德国牧羊犬 狗 母性 returndate returnsreason1692 NaN Stray3336 2018-05-14 00:00:00 与主人的生活方式不相容3337 NaN Stray

将这两只猫和狗改成好听的名字。

# 定义倒霉宠物重命名函数 def rename_pets(name): if name == "Stinker": fake = Faker() Faker.seed(162) name = fake.name() if name == "Pooh" : fake = Faker( ["de_DE"]) Faker.seed(20387) name = fake.name() return name# 重命名宠物 df["animalname"] = df["animalname"].apply (rename_pets)# 查看结果print (df.iloc) [df_bad_names.index.tolist(), :] ) 识别号 动物名称品种名称 物种名称 /1692 NaN Stephen Harris Domestic Shorthair Cat 3336 981020023417175 Helena Fligner - Cult's 德国牧羊犬 狗 3337 981020023417175 Helena Fligner - Cult's 德国牧羊犬 狗性别 替代名称 returndate returnsreason1692 Male NaN Stray3336女2018-05 -14 00 :00:00 与主人的生活方式不兼容3337 Female NaN Stray

你觉得怎么样,这个名字好多了

6. Numerizer

这个库可以将自然语言转换为数字。 我们来看一下。 首先,获取名称中包含数据的动物的信息。

df_numerized_names = df[["identichipnumber", "animalname", "speciesname"]]/ [df["animalname"].str.contains("两个|七") | 50")]df_numerized_names

接下来,将名称中的数字转换为阿拉伯数字。

from numerizer import numerizedf["animalname"] = df["animalname"].apply(lambda x: numerize(x))df[["identichipnumber", "animalname", "speciesname"]].iloc[ df_numerized_names.index.tolist(), :]

7. Emoji

符号库。 您可以根据 Unicode Consortium 2 定义表情符号。 符号代码将字符串转换为表情符号。 emoji 库只有两个函数:emojiize() 和 demojize()。

import emojiprint(emoji.emojize(":koala:"))print(emoji.demojize("" ))print(emoji.emojize(" :rana:", language="it")) ?:Koala 😕

让我们用符号来表示动物

print(df["speciesname"] .unique()) ["Cat" "Dog" "Rabbit" "Mouse" "Bird" "Opossum" " Chicken" "Wild Animals “ “雪貂”“乌龟”“猪”“仓鼠”“豚鼠”“沙鼠”“蜥蜴”“刺猬”“龙猫”“山羊”“蛇”“松鼠”“蜜袋鼯”“乌龟”“狼蛛””, “mouse”、“raccoon”、“livestock”、“fish”]

我想将所有字符转换为小写,并在前后添加它们。冒号

df["物种名称"] = df["物种名称"].apply(lambda x: emoji.emojize(f":{x.lower()}:", use_aliases=True))print( df[ "物种名称"].unique()) ["" "" ":家兔:" "" "" ":负鼠:" "" ":野生动物:" ":雪貂:"":乌龟:" " " "" ":豚鼠:" ":沙鼠:" "" "" ":龙猫:" """" ":松鼠:" ":蜜袋鼯:" "" ":狼蛛:" "" "" " : 家养动物: """]

将名称转换为同义词

df["speciesname"] = df["speciesname"].str.replace(":house Rabbit:", ":rabbit:" ) / .replace ( ":乌龟:", ":乌龟:")/ .replace(":松鼠:", ":花栗鼠:")df["物种名称"] = df["物种名称"].apply(lambda x : emoji.emojize (x,variant="emoji_type"))print(df["speciesname"].unique()) ["" "" "️" "" "" ":负鼠:️" "" ":wildlife:️" ":雪貂:️" "️" """" ":豚鼠:" ":沙鼠:️" " " "" ":chinchilla:️" "" "" """:蜜袋鼯:" "" ":tarantula:️" "" "" ":livestock:️" ""]

关于其余这些data 如果动物名称不对应,则转换为原始数据格式。

df["物种名称"] = df["物种名称"].str.replace(":", "").apply (lambda x : x.title())print(df["物种名称"] .unique())df[["动物名称","物种名称","品种名称"]].head(3) ["" "" " ️" "" "" "负鼠️" "" "野生动物️ ” “雪貂️” “️” “” “” “豚鼠” “沙鼠️” “” “” “龙猫️” “” “” “蜜袋鼯” “狼蛛️” “” “” “牲畜️” “” ]

因此,我们已经完成了标志性动物的名字。

8. PyAztro

这个库是为了好玩而设计的,你可以预测幸运数字、幸运时间、幸运颜色等。黄道十二宫的。 有兴趣的朋友应该尝试一下。

import pyaztropyaztro.Aztro(sign="taurus").description “你需要在生活的某些方面做出根本性的改变 - pr可能和你家有关系。 也许是时候购买、出售或搬到更有前途的地方了。 ”

我们再看一下数据集。 数据集中有猫和狗。 这只狗的名字叫白羊座。

df[["animalname", "speciesname"]][(df["animalname"] == "Aries")]

还有很多其他动物是狮子座吧被称为 (Leo)

print("Leo:", df["动物名称"][(df["动物名称"] == "Leo")].count()) Leo: 18

这些是动物的十二生肖,我们将使用这个库来预测它们的命运。

aries = pyaztro.Aztro(sign="aries")leo = pyaztro.Aztro(sign="leo")print("ARIES : / n", "符号:", aries.sign, "/n" , "当前日期:", aries.current_date, "/n", "日期范围:", aries.date_range, "/n", "符号说明:", aries.description, "/n", "心情:" , aries.mood, "/n", "兼容性:", aries.compatibility, "/n", "幸运数字:", aries.lucky_number, "/n", "幸运时间:", aries.lucky_time, "/n", "幸运颜色:", aries.color,

未经允许不得转载:主机频道 » 我现在有了更多的知识! 这 8 个很少使用但有用的 Python 库非常棒。

评论 抢沙发

评论前必须登录!