引言
这是我的第一篇博文,自己也是刚刚工作不久(数据分析方向),作为一个小白,希望将自己在工作中遇到的问题和解决方法进行总结,并分享出来。有些文字是自己以前在查找的资料中摘录下来的,已经不记得出处了。
内容
1. apply, map, applymap函数的使用区别
从下面的表中可以看出, 使用map的对象是Series,而DataFrame使用的则是applymap和apply,当需要对每一个元素进行函数的映射时,使用applymap,当对某一列映射函数时,使用apply。
类型 | 元素级 | 列 |
---|---|---|
Series | map | |
DataFrame | applymap | apply |
代码示例(待补充)
2.zip函数使用
zip函数用户将可迭代的对象作为参数,将对象中对应元素,打包成一个个元素。
a = [1, 2, 3]
b = [4, 5, 6]
zipped = zip[a, b]
输出zipped
>>> zipped
[(1, 4), (2, 5), (3, 6)]
zip函数可以提供位置与元素组成的元组,
>>>zip(range(len(a)), a)
[(0, 1), (1, 2), (2, 3)]
可替代上面方法的另一种表达
>>> list(enumerate(a))
[(0, 1), (1, 2), (2, 3)]
3.for循环的2种迭代方式
第一种:
>>> l = [1, 9, 8, 4]
>>> [elem*2 for elem in l]
[2, 18, 16, 8]
第二种:
>>> l = [1, 9, 8, 4]
>>> for i, val in enumerate(l):
print i, val
0 1
1 9
2 8
3 4
4.and 和 & 的区别
(原文参照链接)
and是比较前后两个表达式是否都是逻辑上的True。而“&”则是检查两个表达式(当时用True/False值)是否都为 True。
对于and,例如:expression1 and expression2,当expression1为逻辑上的True时,该表达式的值就跟expression2是相同的。因为,
In Python, empty built-in objects are typically treated as logically False while non-empty built-ins are logically True。
对这句话,我自己的理解是,在python里面,只要不是一个空的对象,那在逻辑上就是True,否则,如果是空的或者0,就是逻辑上的False。
对于&,则是检测两个值是否都为True,若是,返回True;否则,返回False。当你想进行向量数据的逻辑运算时,可以使用numpy 和 &。
5.python包的安装方法
这里介绍的安装环境是:win7系统+Anaconda(python3.6)。
一、pip 安装
因为python2>=2.7.9 以及 python3>3.4以上版本的python都自带pip。所以在联网情况时,可以直接使用pip进行下载安装。
例如,想要安装一个名为missingno的python包,仅需在cmd或者anaconda自带的Prompt环境下运行下面命令:
pip install missingno
二、本地安装
本地安装,需要从github上下载所需安装的包的压缩文件(.zip.或tar),然后将压缩包解压,进入cmd或者anaconda自带的 Prompt里安装,cd目录到该包解压文件的目录下,运行下面命令:
python setup.py install
三、安装.whl 文件
该方法主要是针对有些时候上述2种方法安装不成功时,比如我在安装xgboost时,上述两种方法均失败,后来发现别人使用了这种安装方法,从这里找到相应的.whl文件,然后打开Prompt转到相应目录下,使用下面命令:
pip install xxx.whl