zoukankan      html  css  js  c++  java
  • Python使用

    matplotlib.pyplot as plt

    该module是用来作图的,有两个大的对象,一个是figure,一个是subplot,前者是画布,后者是在画布上作的图,一个画布可以画多个图,实际作图时应用的对象是图,关于图的配置常用属性有:

    1. 颜色:plt.plot(color=)
    2. 标记:plt.plot(marker = )
    3. 线型:plt.plot(linestyle = )
    4. 线宽:plt.plot(linewidth = )
    5. 刻度:plt.xlim([])
    6. 图例:plt.ployt(label = ) 和plt.legend(loc = 0),其中legend表示图例的位置,一般选择0表示最好的位置
    7. 图片保存:plt.save(fname='name.png')

    plt.plot()图形每运行一次相当于是在原有图形上加上一个新的线图,如果是想每个图都是单独的一个

    函数是否可调用

    max是python内置函数,用于比较数值大小,但是一旦max被定义为其他值时,max函数的属性就失效,比如:

    max = max(binDS['bin']) #最大的bin值,也是最大分箱值,作用是用来产生新的分箱值
    #max = 1 再次调用max的时候显示TypeError: 'int' object is not callable
    callable(max) #False

     Python时间处理module--datetime

    时间处理常见三种形式:

    1. 字符串格式转化为时间格式
    2. 时间转化为字符串
    3. 计算不同时间之间相隔的天数

    datetime共有5个类,分别是:

    datetime.date、datetime.datetime、datetime.time、datetime.timedelta、datetime.tzinfo,其中datetime.date和datetime.datetime是比较常用的。

    >>> test = "2018-01-03"
    >>> type(test)
    <class 'str'>
    >>> from datetime import *
    >>> test1 = datetime.strptime(test,"%Y-%m-%d")
    >>> type(test1)
    <class 'datetime.datetime'>
    >>> test1
    datetime.datetime(2018, 1, 3, 0, 0)
    >>> print(test1)
    2018-01-03 00:00:00
    >>> test1.date()
    datetime.date(2018, 1, 3)
    >>> test3 = date(year = 2019,month = 4,day = 5)
    >>> test4 = test1.date()

    >>> test5 = test4-test3
    >>> test5
    datetime.timedelta(days=-457)

    需要注意datetime.date没有strptime函数,因此在将字符串转换为日期时,需要先利用datetime.datetime.strptime转换为日期时间型,再利用datetime.datetime.date()函数转换为日期格式。datetime.timedelta只有days对象,没有其他

    np.where条件

    用法一:np.where(condition) 返回的是满足条件的下标,注意不是index

    数据框dataframe as df如下:
       name  score
    0    x      1
    2    z      1
    4    y      1
    6    x      3
    
    np.where(df['score']<3)[0]
    结果是array([0, 1, 2])
    而不是array([0,2,3)]

     用法二:np.where(condition = True,Y,N)即如果条件为真,返回Y,否则返回N

    Series如下
    0    1.0
    1    2.0
    2    3.0
    3    NaN
    
    np.where(Series>1,'123','321')其结果是
    array([321, 123, 123, 321])

    np.NaN和None二者的比较

    相同点是二者在python中都是用来表示空值,在某些操作中NoneType会被替换成float类型的np.nan,原因是None无法参与numpy的一些计算,而pandas的底层又依赖于numpy,因此做了一些变换

    test = pd.Series([1,None,np.nan])
    test.isnull()的结果是:
    0    False
    1     True
    2     True
    
    test.fillna(0)的结果是:
    0    a
    1    0
    2    0

    不同点比较多,重要的有两点:

    二者数据类型不同,type(None) = NoneType,而type(np.nan) = float,因此np.nan可以参与数据的比较(虽然都是False),而None会报错

    >>> np.nan > 1
    False
    >>> np.nan < 1
    False
    >>> np.nan+1
    nan
    >>> None > 1
    Traceback (most recent call last):
      File "<pyshell#69>", line 1, in <module>
        None > 1
    TypeError: '>' not supported between instances of 'NoneType' and 'int'

    另外等值判断不同

    >>> np.nan == np.nan
    False
    >>> np.nan is np.nan
    True
    >>> None == None
    True
    >>> None is None
    True
  • 相关阅读:
    蓝桥杯——一步之遥,扩展gcd的应用
    质数唯一分解定理应用——多个数的最小公约数和最大公倍数
    蓝桥杯训练 ——天平称重
    蓝桥杯 奇怪的捐赠——进制的运用
    Kubernetes-基本概念
    Docker-基本概念
    虚拟化向容器化发展
    Kubernetes-服务连接和暴露(endpoints资源)
    Kubernetes-NodePort
    Kubernetes-Load Balancer
  • 原文地址:https://www.cnblogs.com/mango-lee/p/9936655.html
Copyright © 2011-2022 走看看