python中的顶层函数 python置顶窗口

python最顶层基类是什么object是最顶层基类 。object是type的实例,而type又继承object 。顶层基类的特性:
1、可以赋值一个变量 。
2、可以添加到集合对象中 。
3、可以作为参数传递给函数 。
4、可以当作函数的返回值 。
Python pandas数据计数函数value_counts value_counts是一种查看表格某列中有多少个不同值的快捷方法,并计算每个不同值有在该列中个数,类似Excel里面的count函数
其是pandas下面的顶层函数,也可以作用在Series、DataFrame下
常规用法:
pandas 的 value_counts() 函数可以对Series里面的每个值进行计数 并且 排序 , 默认是降序
可以看出,既可以对分类变量统计 , 也可以对连续数值变量统计
如果是要对结果升序排列,可以添加 ascending=True 来改变
如果不想看统计的个数 , 而是想看占比 , 那么可以设置 normalize=True 即可 , 结果是小数形式
可以通过apply,对每一列变量进行统计
以上是自己实践中遇到的一些点,分享出来供大家参考学习,欢迎关注DataShare公众号
如何在Python中使用static , class,abstract方法方法在Python中是如何工作的
方法就是一个函数,它作为一个类属性而存在,你可以用如下方式来声明、访问一个函数:
Python
class Pizza(object):
...def __init__(self, size):
...self.size = size
...def get_size(self):
...return self.size
...
Pizza.get_size
unbound method Pizza.get_size
Python在告诉你,属性_get_size是类Pizza的一个未绑定方法 。这是什么意思呢?很快我们就会知道答案:
Python
Pizza.get_size()
Traceback (most recent call last):
File "stdin", line 1, in module
TypeError: unbound method get_size() must be called with Pizza instance as first argument (got nothing instead)
我们不能这么调用,因为它还没有绑定到Pizza类的任何实例上,它需要一个实例作为第一个参数传递进去(Python2必须是该类的实例,Python3中可以是任何东西),尝试一下:
Python
Pizza.get_size(Pizza(42))
42
Pizza.get_size(Pizza(42))
42
太棒了,现在用一个实例作为它的的第一个参数来调用 , 整个世界都清静了 , 如果我说这种调用方式还不是最方便的 , 你也会这么认为的;没错 , 现在每次调用这个方法的时候我们都不得不引用这个类 , 如果不知道哪个类是我们的对象,长期看来这种方式是行不通的 。
那么Python为我们做了什么呢,它绑定了所有来自类_Pizza的方法以及该类的任何一个实例的方法 。也就意味着现在属性get_size是Pizza的一个实例对象的绑定方法,这个方法的第一个参数就是该实例本身 。
Python
Pizza(42).get_size
bound method Pizza.get_size of __main__.Pizza object at 0x7f3138827910
Pizza(42).get_size()
42
和我们预期的一样,现在不再需要提供任何参数给_get_size , 因为它已经是绑定的,它的self参数会自动地设置给Pizza实例,下面代码是最好的证明:
Python
m = Pizza(42).get_size
m()
42
更有甚者,你都没必要使用持有Pizza对象的引用了,因为该方法已经绑定到了这个对象,所以这个方法对它自己来说是已经足够了 。
也许,如果你想知道这个绑定的方法是绑定在哪个对象上,下面这种手段就能得知:
Python
m = Pizza(42).get_size
m.__self__
__main__.Pizza object at 0x7f3138827910
# You could guess, look at this:
...
m == m.__self__.get_size

推荐阅读