python相关技巧

Python kingmo888 1079℃ 0评论

未完待续……

 

我们通过这些python技巧,可以更加pythoner,让代码python的味道更加浓郁(好污的感觉)

技巧1:python类型判断

在python中如何得之一个变量的类型呢?我们一般使用type函数,如下示例中,定义了一个整型,通过type得到了这个变量的类型,调试时可以使用,

In [1]: anum = 10

In [2]: type(anum)
Out[2]: int

在实际应用中,我们并不用这样的方式对某些变量判断类型,通过isinstance函数来判断,

使用方法:

isinstance(object, class_or_type_or_tuple)

返回值:布尔值 (True 或者 False)

第一个参数为变量名称,第二个参数可以为单个类型或者类型元组,当为单个参数时,若变量的类型与属性参数一致则返回True,否则返回False。当为类型元组时,只要变量的参数类型包含在这个类型元组中,就返回True,否则返回False。一般来讲,用元组的目的是可能变量的类型属于一类而不是单个,比如当变量为数值时,它可能为整型、浮点型、还有可能是其他扩展包的类型,比如numpy.int64这样的类型。

以下面这个例子来说,我们没有直接给变量赋值,而是生成了一个整数数组,在这个数组中的值的类型就不是单纯的整型(int)了,此时如果使用type进行判断的话,就得不到正确的值。

import numpy as np
# 生成一个数组,数组大小为5个值,
# 每个值都是整数且值的范围在0~100之间。
num2 = np.array(np.random.randint(0,100,5))
# 得到的结果肯定是false
type(num2[0]) == int

技巧2:python pandas的DataFrame如何更快遍历行?

如果做相关操作,最快的方式当然是利用pandas原生的方式进行比较及操作,这样做速度极快。

如果不得不用遍历的形式去操作时,使用python原生的enumerate去遍历是比较快的

比如:

#data is pd.DataFrame
for i,d in enumerate(data.iterrows()):
    # d is a tuple
    aline_data = d[1]

 

技巧3:Python中json.loads出错:ValueError: Invalid \escape: 

出现这个原因,是因为json文件有问题,里面的字符串有的解析失败,比如存在\n换行符什么的,此时需要修正json文件。

转载请注明:Python量化投资 » python相关技巧

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址