精华内容
下载资源
问答
  • python pandas 的最基本使用 pandas的一些最基本的操作 python 3.7.1 构建series import pandas as pd d={'a':1,'b':2,'c':3,'d':4} dd=[1,2,3,4] ddd=(1,2,3,4) index=['a','b','c','d'] 最简单的构建一个series: ...

    pandas的一些最基本的操作 python 3.7.1

    构建series

    import pandas as pd
    d={'a':1,'b':2,'c':3,'d':4}
    dd=[1,2,3,4]
    ddd=(1,2,3,4)
    index=['a','b','c','d']
    

    构建一个简单的series:

    ds=pd.Series(d)
    print(ds)
    

    得到的结果为:

    a 1
    b 2
    c 3
    d 4
    dtype: int64

    把index加上:

    ds=pd.Series(d,index)
    print(ds)
    

    得到与上一步一模一样的结果:

    a 1
    b 2
    c 3
    d 4
    dtype: int64

    我们再试着通过一个列表构建series:

    dds=pd.Series(dd)
    print(dds)
    

    结果为:

    0 1
    1 2
    2 3
    3 4
    dtype: int64

    然后把index加上去:

    dds=pd.Series(dd,index)
    print(dds)
    

    结果为:

    a 1
    b 2
    c 3
    d 4
    dtype: int64

    我们再试着通过一个元组构建series:

    ddds=pd.Series(ddd,index)
    print(ddds)
    

    结果为:

    a 1
    b 2
    c 3
    d 4
    dtype: int64

    无论是字典,列表还是元组,都可以构建series。只不过,dict自带index,而list,tuple要专门定义index(也就是每一行的行名)。系统默认的index为0,1,2,3…

    同时,构建出的series可以理解为构建了一个字典。

    构建dataframe

    尝试构建dataframe。

    如果通过字典格式的数据构建:

    df=pd.DataFrame({'one':d,'two':d})
    #{'one':d,'two':d}{'one':{'a':1,'b':2,'c':3,'d':4},'two':{'a':1,'b':2,'c':3,'d':4}}
    #就是一个双重的字典
    print(df)
    

    输入的结果为:

    one two
    a 1 1
    b 2 2
    c 3 3
    d 4 4

    同时,如果我们通过series构建dataframe:

    df=pd.DataFrame({'one':ds,'two':ds})
    print(df)
    

    输入的结果一模一样:

    one two
    a 1 1
    b 2 2
    c 3 3
    d 4 4

    所以,series 完全可以当作一个字典来用。
    同时可以发现,dataframe可以理解为一个双层的字典

    如果通过列表格式的数据构建:

    df=pd.DataFrame([d,d])
    #[d,d][{'a':1,'b':2,'c':3,'d':4},{'a':1,'b':2,'c':3,'d':4}]
    #这是一个列表
    print(df)
    

    输出的结果为:

    a b c d
    0 1 2 3 4
    1 1 2 3 4

    把index加上:

    df=pd.DataFrame([d,d],index=['one','two'])
    print(df)
    

    结果为:

    a b c d
    one 1 2 3 4
    two 1 2 3 4

    这个可以理解为:我们构建了一个长的series。
    通过元组构建也是一样。

    所以,dataframe就是一个双重的series。
    上面的内容还是挺乱的。所以,推荐先构建series,然后以字典的形式通过series再构建dataframe。记住一种方法就行了。

    展开全文
  • 自多年以来,人工智能,机器学习和深度学习是流行语,已经能够抓住许多研究人员的兴趣。 使计算机能够像人类一样思考,决策和行动,一直是... 本文主要使用Python的Scikit-Learn库来实现为研究目的而开发的应用程序。
  • 在我们python开发过程很多 ,在很多地方都会用到单例模式,确保数据唯一性,简单单例模式,我们可以模块导入方式实现,因为导入文件,无论import多少次 都只导入一次模块。 方法一:装饰器 利用装饰器只会...

    在我们python开发过程很多 ,在很多地方都会用到单例模式,确保数据的唯一性,最简单的单例模式,我们可以模块导入的方式实现,因为导入文件,无论import多少次  都只导入一次模块。 

    方法一:装饰器 

    利用装饰器只会执行一次的特性

    def singleton(cls):
        instances = []# 为什么这里不直接为None,因为内部函数没法访问外部函数的非容器变量
        def getinstance(*args, **kwargs):
            if not instances:
                instances.append(cls(*args, **kwargs))
            return instances[0]
        return getinstance
    
    @singleton
    class Foo:
        a = 1
    
    f1 = Foo()
    f2 = Foo()
    print(id(f1), id(f2))
    
    输出结果:
    31177248 31177248
    

      

    方法二:基类

    利用 “类变量对所有对象唯一” 即 cls._instance

    class Singleton(object):
        def __new__(cls, *args, **kwargs):
            if not hasattr(cls, '_instance'):
                cls._instance = super().__new__(cls,*args, **kwargs)
                # Singleton._instance = object.__new__(cls, *args, **kwargs)
            return cls._instance
    
    class Foo(Singleton):
        a = 1
    
    f1 = Foo()
    f2 = Foo()
    print(id(f1), id(f2))  
    

      

    方式二

    class Singleton(object):
        def __new__(cls, *args, **kwargs):
            if not hasattr(cls, '_instance'):
                cls._instance = Singleton(*args, **kwargs)
            return cls._instance
    
    class Foo(Singleton):
        a = 1
    
    f1 = Foo()
    f2 = Foo()
    print(id(f1), id(f2))
    

      

    方法三:metaclass

    利用“类变量对所有对象唯一”,即cls._instanceclass Singleton(type):

     

    class Singleton(object):
        def __call__(cls, *args, **kwargs):
            if not hasattr(cls, '_instance'):
                cls._instance = super(Singleton, cls).__call__(*args, **kwargs)
            return cls._instance
    
    class Foo(metaclass=Singleton):
        pass
    
    f1 = Foo()
    f2 = Foo()
    print(id(f1), id(f2))
    

      

     

     

     

    转载于:https://www.cnblogs.com/richiewlq/p/7772570.html

    展开全文
  • python3 最基本且简单实现组合设计模式

    千次阅读 多人点赞 2020-06-30 23:15:36
    在我个人看来,设计模式使用并不局限于书本描述具体问题解决,是需要丰富业务经验才能更好灵活应用,本人能力有限,在此也是给出一个简单示例用来说明,额外灵活运营需要看个人编写方式。...

    组合模式是把一个类别归为一个整体,并且组织多个整体之间的关系,使用通过树形结构来描述所有整体。

    一般的编写方式为一个类别对象下添加多个该对象的元素,该对象又为其它对象下的元素。简单来说就是一个学校有一个总部,总部下有有师资部、招生部;总部有分校,分校也有。

    在我个人看来,设计模式的使用并不局限于书本描述的具体问题的解决,是需要丰富的业务经验才能更好的灵活应用,本人能力有限,在此也是给出一个简单的示例用来说明,额外的灵活运营需要看个人的编写方式。

    首先新建一个学校的基类:

    #根
    class root:
        name = ''
        def __init__(self, name):
            self.name = name
        def add(self, root):
            pass 
    

    以上学校基类初始化方法为接收一个name,并且有一个抽象方法add。

    有了一个学校基类后,具体新建一个学校类,继承root基类:

    #学校类
    class School(root):
        childrenroot = []
        def add(self, root):
            self.childrenroot.append(root) 
    

    在以上学校类中,继承了root基类,并且实现了add方法,接收root值,并且把它添加到 childrenroot 列表中,这样可以网当前对象下添加子节点,或者说添加下级对象。

    新建一个招生办类以及一个师资部类:

    #招生办
    class StudentAdmissionDept(root):   
        def __init__(self, name):
            self.name = name
    #师资部
    class FacultyDepartment(root):    
        def __init__(self, name):
            self.name = name
    

    以上内容很简单,都是继承于root,就一个初始化方法。

    开始实现调用。首先新建一个学校总部对象,并且往这个总部对象下添加一个招生办对象以及一个师资部对象:

    root = School('总部')
    root.add(StudentAdmissionDept('总部招生办'))
    root.add(FacultyDepartment('总部师资部'))
    

    新建好总部对象后,往下添加分校区的对象。分校区的部门设置跟总校一致:

    s1 = School('桂林校区')
    s1.add(StudentAdmissionDept('桂林校区 招生办'))
    s1.add(FacultyDepartment('桂林校区 师资部'))
    root.add(s1)
    

    在配置完第一个桂林校区后,使用root总部的add方法,添加当前桂林校区为下级。

    再新建几个校区:

    s2 = School('深圳校区')
    s2.add(StudentAdmissionDept('深圳校区 招生办'))
    s2.add(FacultyDepartment('深圳校区 师资部'))
    root.add(s2)
    
    s3 = School('广州校区')
    s3.add(StudentAdmissionDept('广州校区 招生办'))
    s3.add(FacultyDepartment('广州校区 师资部'))
    root.add(s3)    
    

    以上配置方法跟第一个校区配置为root总部校区下级一致。

    最后使用遍历打印出各个校区的名字:

    print('\n',root.name,'下级学校层级:\n')
    
    for i in root.childrenroot:
        print(i.name)
    

    结果为:
    在这里插入图片描述
    由于没有排版,以上结果并没有很好的直观显示层级,剩下的只需要自己排版输出即可。

    在当前文章对应的代码编写中,最后的新建校区及配置信息,可以新建一个类,封装好该调用、输出方法,可以很方便的使用组合设计模式。

    完整代码如下:

    #根
    class root:
        name = ''
        def __init__(self, name):
            self.name = name
        def add(self, root):
            pass 
        
    #学校类
    class School(root):
        childrenroot = []
        def add(self, root):
            self.childrenroot.append(root) 
    
    #招生办
    class StudentAdmissionDept(root):   
        def __init__(self, name):
            self.name = name
    
     
    #师资部
    class FacultyDepartment(root):    
        def __init__(self, name):
            self.name = name
     
      
    root = School('总部')
    root.add(StudentAdmissionDept('总部招生办'))
    root.add(FacultyDepartment('总部师资部'))
    
    s1 = School('桂林校区')
    s1.add(StudentAdmissionDept('桂林校区 招生办'))
    s1.add(FacultyDepartment('桂林校区 师资部'))
    root.add(s1)
    
    s2 = School('深圳校区')
    s2.add(StudentAdmissionDept('深圳校区 招生办'))
    s2.add(FacultyDepartment('深圳校区 师资部'))
    root.add(s2)
    
    s3 = School('广州校区')
    s3.add(StudentAdmissionDept('广州校区 招生办'))
    s3.add(FacultyDepartment('广州校区 师资部'))
    root.add(s3)    
    
    print('\n',root.name,'下级学校层级:\n')
    
    for i in root.childrenroot:
        print(i.name)
    
    展开全文
  • 1、提示信息是通过括号放在异常名称后面,如下 ... File "/Volumes/qiang/all_code/git-test/scripts/python-experiment/exception_test.py", line 9, in <module> raise ValueError('d'.

     1、提示信息是通过括号放在异常名称后面的,如下

    正确:
    raise ValueError('d')
    错误:
    raise ValueError, 'd'
    
    返回:
    Traceback (most recent call last):
      File "/Volumes/qiang/all_code/git-test/scripts/python-experiment/exception_test.py", line 9, in <module>
        raise ValueError('d')
    ValueError: d

    2、可以使用Exception代替具体的异常名称,来捕获异常

    例1:
    try:
        raise ValueError('errRRRRRror')
    except Exception as e:
        print(e)
    
    返回:(因为使用了try-except所以就没有Traceback (most recent call last):这些东西了)
    errRRRRRror
    
    例2:直接使用Exception异常
    try:
        raise Exception('errRRRRRrorDDDDDDDDDDDD')
    except Exception as e:
        print(e)
    
    返回:
    errRRRRRrorDDDDDDDDDDDD

    3、自定义异常:简单继承Exception,然后一个pass就可以了

    class newerror(Exception):
        pass
    
    try:
        raise newerror('errRRRRRrorDDDDDDDDDDDDeeeeeeeeeeeeeeeee')
    except Exception as e:
        print(e)

     

    展开全文
  • Basic-Python-Course:本课程包括Python的所有基本概念。 由于Python编程语言在不同领域和技术中的大量应用,因此它是当今世界上流行的编程语言之一。 Python是数据科学,机器学习,深度学习,计算机视觉,区块链...
  • Python之tkinter 文本框Entry的基本应用

    千次阅读 2020-03-10 11:43:21
    所谓的文本框Entry,通常是指单行的文本框,在GUI程序设计中,这是用于输入的最基本控件,我们可以使用它输入单行字符串,如果所输入的字符串长度大于文本框的宽度,所输入的文字会自动隐藏,造成部分内容无法显示,...
  • 快速参考 维护: ... Gurobi Optimizer是可用于解决LP,QP和MIP(MILP,MIQP和MIQCP)问题的最快,最强大的数学编程求解器。 有关更多信息,请访问Gurobi网站。 Gurobi Optimizer带有一个称为“ gu
  • 通常,大多数应用程序通过保持 HTML 简单来解决大多数浏览器问题 ― 或者说,根据最低共同特性来编写。...本文将向您显示如何以 Python 作为绑定语言选择(也支持 C++、Perl 和其它语言)使用作为 wxWindows 软件包
  • Python和少数几种编程语言,如MySQL、Perl、PHP和与LAMP打包网络结构一起Apache,已经成为Linux一个基本组件。即 使从它诞生开始,Python就与其他动态编程语言如Ruby一起成长发展,来替换传统编程语言如C#和...
  • 而且大牛们基本上都精通多种语言,能根据不同的应用场景采用不同语言来实现架构或业务目标。从大学到工作,使用过不少语言,因此能够理解这一点。在众多脚本语言中,个人比较偏爱Python,遇到问题时首先会考虑用...
  • 目录目录 ...最后前言Python除了有丰富标准库之外,还可以自己定义满足自身需求类和函数。本篇主要介绍如何创建Python自定义函数。软件环境 系统 UbuntuKylin 14.04 软件 Python 2.7.4 IPython 4.0.
  • 以下是应用谷歌浏览器打开百度搜索python的代码 from selenium import webdriver driver = webdriver.Chrome('D:\chromedriver_win32\chromedriver.exe') driver.get('https://www.baidu.com/') search_
  • 而且大牛们基本上都精通多种语言,能根据不同的应用场景采用不同语言来实现架构或业务目标。从大学到工作,使用过不少语言,因此能够理解这一点。在众多脚本语言中,个人比较偏爱Python,遇到问题时首先会考虑用...
  • 文章目录Radiobutton 选项按钮选项按钮的基本概念Checkbutton 复选框 Radiobutton 选项按钮 选项按钮的基本概念   选项按钮...常见方式是让选项按钮以文字方式存在,与标签一样,我们也可以设计含图...
  • Python之小词典应用

    千次阅读 2018-05-22 22:32:51
    这个学期专业开了python课,最后老师布置了一个作业:用python制作一个英语小词典的应用,遂做了一下。 题目要求: 制作英文学习词典。编写程序制作英文学习词典,词典有三个基本功能:添加、查询、和退出。程序...
  • Python 中for循环的应用

    千次阅读 2019-08-19 18:09:49
    Python循环语句有 2 种,分别是 while 循环和 for 循环,while 循环和 if 条件分支语句类似,即在条件...for 语句进行数值循环:在使用 for 语句循环时,最基本的应用就是进行数值循环。 for 循环遍历列表和元...
  • 1、基本要素: 预设判断条件 达到条件后执行语句 2、扩展要素: 不满足条件执行语句 满足多条件执行语句 3、条件语法: if<逻辑表达式>: <语句块1> else: <语句块2> if和else都是“保留字”...
  • Ps:python的优点有哪些: 1、简单(语法、逻辑)、易学,适应人群广泛; 2、免费、开源(开放源代码); 3、应用领域广泛(自动化运维、数据分析、网络爬虫、人工智能等)。 二:如何规划路线去学习: 学习时
  • 就个人体验来看,在具体的应用场景中学python是高效的,因为你知道需要学的是哪块知识,带着明确的目的去学,方能深刻体会到python的好处。 整理学习python的经历,截至现在已更新两个板块内容如下: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,914
精华内容 765
关键字:

python的最基本应用

python 订阅