十个Python中的数据类型技巧 (十个勤天)
简介
如何在/target=_blankclass=infotextkey>Python中操作数据类型。
数据类型是任何编程言语的基石,Python也不例外。经过有效地理解和经常使用数据类型,可以编写出更高效、可读性更强和更易于保养的代码。
以下是在Python中经常使用数据类型的10个技巧。
1、经常使用类型提示指定变量或函数参数的预期数据类型。
这将协助开发者及早发现失误,并使代码更具可读性。例如,可以经常使用以下类型提示来指定变量的数据类型。
name:str="Alice"
2、经常使用类型转换将一种数据类型转换为另一种。
当须要将一种类型的变量传递给希冀另一种类型变量的函数时,这十分有用。例如,以下代码将整数变量转换为字符串,而后将其传递给函数函数。
age:int=25#在打印之前将`age`转换为字符串。print(str(age))
3、经常使用字符串插值法对带有变量的字符串启动格局化。
这关于创立灵活字符串(如失误消息或用户提示)十分有用。例如,以下代码经常使用字符串插值法为用户创立了共性化的问候语:
name:str="Alice"#为用户创立共性化的问候语。greeting=f"Hello,{name}!"#打印问候语。print(greeting)
4、经常使用运算符审核一个值能否蕴含在列表、元组或汇合中。
这关于编写口头义务(如在列表中搜查值或审核一个值能否是汇合的有效成员)的函数十分有用。例如,以下代码经常使用运算符审核值能否蕴含在列表中。
numbers:list[int]=[1,2,3,4,5]#审核值10能否蕴含在列表numbers中。if10innumbers:print("Thevalue10iscontnedinthelistnumbers.")else:print("Thevalue10isnotcontainedinthelistnumbers.")
5、经常使用
isinstance()
函数审核变量能否是特定类的实例。
这关于编写口头义务(如验证用户输入或将变量转换为特定类型)的函数十分有用。例如,以下代码经常使用
isinstance()
函数审核变量能否是类的实例。
name:str="Alice"#审核变量name能否是str类的实例。ifisinstance(name,str):print("Thevariablenameisaninstanceofthestrclass.")else:print("Thevariablenameisnotaninstanceofthestrclass.")
6、经常使用
collections
模块创立和操作特定的数据结构。
collections
模块提供了各种数据结构,如双端队列、有序字典和命名元组。这些数据结构可以用于处置特定疑问或提高代码的性能。例如,以下代码经常使用类创立了一个双端队列。
fromcollectionsimportdeque#创立一个双端队列。queue:deque[int]=deque([1,2,3,4,5])#在队列前面减少一个元素。queue.endleft(0)#从队列前删除一个元素。element=queue.popleft()#打印从队列中移除的元素。print(element)
7、经常使用模块创立和经常使用类型别名。
类型别名准许创立自定义的数据类型。这关于提高代码的可读性和可保养性十分有用。例如,以下代码为整数列表创立了一个类型别名。
fromtypingimportList#创立一个整数列表的类型别名。IntegerList:List[int]=[1,2,3,4,5]
8、经常使用布尔值存储真/假值。
在Python中,布尔值用于存储真/假值。可以经常使用和关键字创立布尔值。
#创立一个布尔值my_boolean=True#打印布尔值print(my_boolean)#对布尔值启动逻辑运算and_result=my_booleanandTrueor_result=my_booleanorFalsenot_result=notmy_boolean#打印结果print(and_result,or_result,not_result)
9、经常使用元组存储无法变的数据序列。
元组与列表相似,但它们是无法变的。这象征着一旦创立了一个元组,其内容就无法更改。
#创立一个元组my_tuple=("Thisisastring",10,3.14,True)#打印元组print(my_tuple)#尝试更改元组中的元素my_tuple[0]="Anotherstring"#这将造成失误,由于元组是无法变的
10、经常使用字典存储键值对的数据。
字典用于在Python中存储键值对的数据。键可以是任何类型的数据,值也可以是任何类型的数据。
#创立一个字典my_dictionary={"name":"JohnDoe","age":30,"occupation":"SoftwareEngineer"}#打印字典print(my_dictionary)#访问与键关系联的值
【技术贴】python数据类型之列表
列表是由一系列按特定顺序排列的元素组成的。 在Python中,用[]来表示列表,并用逗号来分隔其中的元素。 我们可以创建包含字母,数字或者任何东西的列表。 其中列表中的元素之间可以没有任何的关系。 由于列表通常包含多个元素,再给创建的列表命名时,一般使用复数的名称,如names. names = [kitty,anne,jerry] print(names) 输出的结果为方括号[] 引号 元素 [kitty, anne, jerry] 注意:列表的偏移量是从0开始的,而不是我们习惯的 1 开始 teacher=[七七,卡西,延君] teacher[0]=七七 teacher[1]=卡西 teacher[2]=延君 口诀:“左右空,取到头;左要取,右不取” teacher=[七七,卡西,延君] teacher[:2]=[七七,卡西] 格式:列表(元素名) teacher=[七七,卡西,延君] (琦玉) # 结果为 teacher=[七七,卡西,延君,琦玉] ([元素1,元素2]):在list列表末端增加多个元素;(元素序号,元素):在list列表任意位置增加一个元素 teacher=[七七,卡西,延君,琦玉] del teacher[3] # 结果为 teacher=[七七,卡西,延君] >>> str=[0,1,2,3,4,5,6] >>> delstr[2:4] #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素) >>> str [0, 1, 4, 5, 6] >>> str=[0,1,2,3,4,5,6] >>> delstr >>> str #删除后,找不到对象 Traceback (most recent call last):File <pyshell#27>, line 1, in <module>strNameError: name str is not defined 注意:del是删除引用(变量)而不是删除对象(数据),对象由自动废品回收机制(GC)删除。 1,a = (元素):计算它的参数在列表中出现的次数,并将次数返回;2,a = (元素):返回它的参数在列表中的位置,返回元素序号;#若有多个元素相同,此为只返回首端起第一个。 3,a = (元素, 序号1,序号2):在序号1和序号2范围内,返回列表中元素位置。 #若有多个元素相同,此为只返回首端起第一个。 4,() == list[::-1]:将整个列表内元素反过来排列:[1, 2, 3, 4]() == [4, 3, 2, 1];5,():将所有元素,从小到大排列;方法 sorted返回一个有序的副本,并且类型总是列表,如下:
可以让你快速用Python进行数据分析的10个小技巧
一些小提示和小技巧可能是非常有用的,特别是在编程领域。有时候使用一点点黑客技术,既可以节省时间,还可能挽救“生命”。
一个小小的快捷方式或附加组件有时真是天赐之物,并且可以成为真正的生产力助推器。所以,这里有一些小提示和小技巧,有些可能是新的,但我相信在下一个数据分析项目中会让你非常方便。
Pandas中数据框数据的Profiling过程
Profiling(分析器)是一个帮助我们理解数据的过程,而Pandas Profiling是一个Python包,它可以简单快速地对Pandas 的数据框数据进行 探索 性数据分析。
Pandas中()和()函数可以实现EDA过程第一步。但是,它们只提供了对数据非常基本的概述,对于大型数据集没有太大帮助。 而Pandas中的Profiling功能简单通过一行代码就能显示大量信息,且在交互式HTML报告中也是如此。
对于给定的数据集,Pandas中的profiling包计算了以下统计信息:
由Pandas Profiling包计算出的统计信息包括直方图、众数、相关系数、分位数、描述统计量、其他信息——类型、单一变量值、缺失值等。
安装
用pip安装或者用conda安装
pip install pandas-profiling
conda install -c anaconda pandas-profiling
用法
下面代码是用很久以前的泰坦尼克数据集来展示多功能Python分析器的结果。
#importing the necessary packages
import pandas as pd
import pandas_profiling
df = _csv(titanic/)
pandas_(df)
一行代码就能实现在Jupyter Notebook中显示完整的数据分析报告,该报告非常详细,且包含了必要的图表信息。
还可以使用以下代码将报告导出到交互式HTML文件中。
profile = pandas_(df)
_file(outputfile=Titanic>
<b>Tip:</b> Use blue boxes (alert-info) for tips and notes.
If it’s a note, you don’t have to include the word “Note”.
黄色警示框:警告
<b>Example:</b> Yellow Boxes are generally used to include additional examples or mathematical formulas.
绿色警示框:成功
Use green box only when necessary like to display links to related content.
红色警示框:高危
It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc.
打印单元格所有代码的输出结果
假如有一个Jupyter Notebook的单元格,其中包含以下代码行:
In [1]: 10+5
单元格的正常属性是只打印最后一个输出,而对于其他输出,我们需要添加print()函数。然而通过在notebook顶部添加以下代码段可以一次打印所有输出。
添加代码后所有的输出结果就会一个接一个地打印出来。
In [1]: 10+5
恢复原始设置:
_node_interactivity = last_expr
使用i选项运行python脚本
从命令行运行python脚本的典型方法是:python 。但是,如果在运行相同的脚本时添加-i,例如python -i ,就能提供更多优势。接下来看看结果如何。
首先,即使程序结束,python也不会退出解释器。因此,我们可以检查变量的值和程序中定义的函数的正确性。
其次,我们可以轻松地调用python调试器,因为我们仍然在解释器中:
这能定位异常发生的位置,然后我们可以处理异常代码。
自动评论代码
Ctrl / Cmd + /自动注释单元格中的选定行,再次命中组合将取消注释相同的代码行。
删除容易恢复难
你有没有意外删除过Jupyter notebook中的单元格?如果答案是肯定的,那么可以掌握这个撤消删除操作的快捷方式。
如果您删除了单元格的内容,可以通过按CTRL / CMD + Z轻松恢复它。
如果需要恢复整个已删除的单元格,请按ESC + Z或EDIT>撤消删除单元格。
结论
在本文中,我列出了使用Python和Jupyter notebook时收集的一些小提示。我相信它们会对你有用,能让你有所收获,从而实现轻松编码!
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。