今天遇到的一些python问题

发现个很诡异的问题

False in pd.Series([True,True])

returns True..........

但是

False in [True,True]

returns False

使用pandas的dataframe做一些基础的数据分布研究

df=pd.DataFrame.from_csv('test.csv')

df['column1'].plot(kind='density')#plot density

df['column1'].plot(kind='hist')#plot histgram

df['column1'].quantile(0.5)#这也是一种查看分布的方法,quantile划分区域使各个区域的分布概率相同

如何在python里声明常量

1.最简单的方法,但是不安全

CONSTANT_VAR_1 = 'this is a constant variable'#约定俗成的全部大写的变量就是常量了,所以编程的时候要注意别修改这种变量的值,可能带来麻烦

2.修改类里面的__setattr__函数,禁用类中成员变量的setter

如果类中有__setattr__函数,那么每次试图对类的成员变量进行修改将不直接修改类实例的字典(dictionary),而是通过调用这个__setattr__,如果这个函数什么都不做或者弹出一场,那么那个变量将无法被改变

class CONST(object):
    FOO = 1234

    def __setattr__(self, *_):
        pass

CONST = CONST()

#----------

print CONST.FOO    # 1234

CONST.FOO = 4321
CONST.BAR = 5678

print CONST.FOO    # Still 1234!
print CONST.BAR    # Oops AttributeError

3. 利用python类的特性

def MY_CONSTANT():
    return "one"

4,使用namedtuple

>>> from collections import namedtuple
>>> Constants = namedtuple('Constants', ['pi', 'e'])
>>> constants = Constants(3.14, 2.718)
>>> constants.pi
3.14
>>> constants.pi = 3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: can't set attribute
原文地址:https://www.cnblogs.com/16264412xm/p/6523871.html