python常用函数的使用和对比
一些函数的使用:
- conda list 查看所有安装包
- conda install numpy scipy pandas 同时安装多个包
- conda --version 查看当前conda的版本号
- conda env list 查看所有环境信息
- conda update conda 更新conda
- conda update anaconda 更新anaconda
- conda update python 更新Python
- conda config --show 查看当前所有配置
- conda config --show-sources 查看当前使用源
- conda config --remove channels 删除指定源
- conda config --add channels 加指定源
- help(函数名)或者? 函数名 查看函数的具体功能
- type(数据) 返回数据的类型
- range(start, stop[, step])
- len()
- endswith()
- append()
- print() 加单引号、双引号、三引号的区别print引号区别
获取当前工作路径
import os
os.getcwd()
lambda()
- 单引号和双引号的效果相同,如果print的原有内容有单引号则使用双引号更方便(同理双引号)
- 三引号是可针对段落(类似于代码块中使用的```)
- 在spyder的控制台执行一个.py文件,使用如下代码即可:
run 文件名.py
;而在cmd中需使用python 文件名.py
- 循环执行某个.py文件并输出,代码如下:参考:
import os
i=0
while i<=2:
os.system("python test.py 1>>log.txt") #执行test.py文件并将结果输出到log.txt文件
i=i+1
- 删除某个文件:
os.unlink('log.txt')
将外部程序加载到单元格
Jupyter允许直接将外部程序加载到单元格,例如已经写好的类或方法,使用%load file_name.py即可实现
- 执行%load test.py,单元格会默认将%load test.py注释掉(即加#注释),然后加载test.py中的内容到单元格,效果如下:
- 在执行上面加载的单元格得到代码的具体执行结果如下:
if name == 'main':的作用和原理 参考:name_ == 'main'
Jupyter的魔术命令
Jupyter支持IPython中的魔术命令。所谓魔术命令指的是IPython提供的特殊命令,它将常用的操作以%开头的命令封装起来,使用时非常方便,常用的魔术命令如下:
%matplotlib inline:一般情况下,Python的可视化都会用到Matplotlib库,其详情说明在matplotlib模块中。
python导入库的两种方式:
- 直接导入库,方法是import[库名]。例如,import numpy。对于某些库名比较长的库,我们会使用as方法命名别名,以方便后续使用,例如,import numpy as np。
- 导入库中的指定函数,方法是from[库名]import[函数名]。例如from sklearn import linear_model。这种情况下也可以使用as命名别名方便后续使用,例如,from matplotlib import pyplot as plt。
读取文件的方式:
- 使用read、readline、readlines读取数据
read和readlines都能够读取全部数据,但是read返回的是字符串,适用于大段文字,readlines返回的是列表,适用于一行为一个记录的数据;而readline每次只读取一行数据,三种方式的效果如下:
读取文件的步骤为定义数据文件、获取文件对象、读取文件内容、关闭文件对象,对应代码如下:
file_name='d:/python/test.txt'
file_object=open(file_name)
data=file_object.read()
data.close()
- 使用numpy的loadtxt、load、fromfile读取数据
- loadtxt是读取txt格式的文件,其方法如下:
loadtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
重要参数说明:
fname:文件或字符串,必填,这里指定要读取的文件名称或字符串,支持压缩的数据文件,包括gz和bz格式。
delimiter:字符串,用来分隔多个列的分隔符,例如逗号、TAB符,选填,默认值为空格。
返回:
从文件中读取的数组。
- load读取Numpy专用的二进制数据文件,从npy、npz或pickled文件加载数组或pickled对象,其方法如下:
load(file, mmap_mode=None, allow_pickle=True, fix_imports=True, encoding='ASCII')
返回:
从数据文件中读取的数组、元组、字典等。
- fromfile可以读取简单的文本文件数据以及二进制数据,该方法读取的数据来源于Numpy的tofile方法,即通过Numpy的tofile方法将特定数据保存为文件(默认为二进制数据文件,无论文件扩展名如何定义),然后通过fromfile方法读取该二进制文件,其方法如下:
fromfile(file, dtype=float, count=-1, sep='')
重要参数说明:
count:整数型,读取数据的数量,-1意味着读取所有数据
sep:字符串,如果file是一个文本文件,那么该值就是数据间的分隔符。如果为空("")则意味着file是一个二进制文件,多个空格将按照一个空格处理。
返回:
从文件中读取的数据。
- 使用pandas的read_csv、read_fwf、read_table读取数据
- read_csv方法可以读取csv格式的数据文件,其方法如下:
read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None, **kwds)
重要参数说明:
names:类数组,列名,选填,默认值为空。
encoding:文件编码,默认情况下是“utf-8”,但需要注意的是,从原始数据库中导出的数据可能有各种编码,例如gb2312、latin1等,因此这里要设置为与原始数据一致的编码格式。
- read_fwf方法可以读取表格或固定宽度格式的文本行到数据框,其方法如下:
read_fwf(filepath_or_buffer, colspecs='infer', widths=None, **kwds)
重要参数说明:
widths:由整数组成的列表,选填,如果间隔是连续的,可以使用字段宽度列表而不是“colspecs”。
- read_table方法可以读取分隔符分隔的数据文件到数据框,其方法如下:
read_table(filepath_or_buffer, sep='\t', delimiter=None, header='infer', names=None, index_col=None, usecols=None, **kwds)
参数和read_csv完全一样,只是sep参数的默认值不同