数据科学技术与应用——库函数快速索引表

数据科学技术与应用

——库函数快速索引表

《数据科学技术与应用》课程学习与《上海市高等学校计算机等级考试(三级)——数据科学技术与应用》必备资料

下载链接:https://download.csdn.net/download/qq_43482929/16780039

速查目录

  • 数据科学技术与应用
    • ——库函数快速索引表
  • 1. Numpy
  • 2. Pandas
  • 3. pandas & Matplotlib 绘图
  • 4. Scikit-learn 机器学习
  • 5. Text Processing 自然语言处理
  • 6. Graphic Processing 图形数据处理 | Kreas 深度神经网络
  • 8. Series and Speech Data 时序和语音数据处理

1. Numpy

模块引用方法:import numpy as np

引用模块 函数/属性名 实例 说明
1)基本属性
array.ndim 数组维度
array.size 数组元素个数
array.dtype 数组数据类型
2) 基本函数
np.set_printoptions() np.set_printoptions(precision=4, suppress=True) 设置输出精度,是否使用科学计算
np.array() np.array([[1,2,3,4],[0,1,2,3]] ) 创建 ndarray对象
np.arange() np.arange(15) 创建一个等差数组
np.arrange(-3,3,0.2) 0.2为步长
np.zeros() np.zeros(10) 生成一个给定大小的全0数组
np.zeros( (3,6) )
np.ones() np.ones( (2,3,2) ) 生成一个给定大小的全1数组
np.reshape() np.arange(15).reshape(3, 5) 将一维数组转换为指定的多维数组
3) 通用数学函数
np.abs()、np.fabs() np.abs(x),np.fabs(x) 计算整数、浮点数或复数的绝对值
np.sqrt() np.sqrt(arr) 计算各元素的平方根
np.square() np.square(x) 计算各元素的平方
np.exp() np.exp(arr) 计算各元素的指数
np.sin()、np.cos()、np.cosh()、np.sin() np.sin(arr) 普通和双曲型三角函数
np.sinh()、np.tan()、np.tanh()
np.floor() np.floor(arr/10) 将arr转换成整数形式的十分制分数 计算各元素的floor值,即小于等于该值的最大整数
np.ceil() 计算各元素的ceiling值,即大于等于该值的最小整数
3) 二元函数
np.add() 将数据中对应的元素相加
np.subtract() 从第一个数组中减去第二个数组中的元素
np.multiply() 数组元素相乘
np.divide() 除法或向下取整除法
np.power() 对第一个数组中的元素A,根据第二个数组中的相应元素B,计算AB
np.mod() 元素级的求模运算
np.copysign() 将第二个数组中的值的符号复制给第一个数组中的值
np.equal(),np.not_equal() 执行元素级的比较运算,产生布尔型数组
4) 聚集函数
array.sum() arr.sum() 全部求和 求和函数
arr.sum(1) 按给定轴求和,产生低一维的数组
array.mean() arr.mean() 算术平均值
array.min()、array.max() arr.max()、arr.min() 最大值和最小值
array.argmin()、array.argmax() arr.argmax()、arr.argmin() 最大值和最小值的索引
array.cumsum() arr.cumsum(axis = 1) 逐列求累加和 从0开始向前累加各元素
array.cumprod() arr.cumprod() 从1开始向前累乘各元素
5) 随机生成函数
np.random.random() 随机产生[0,1)之间的浮点值
np.random.randint() np.random.randint(0, 2, size = (2,10)) 生成0-1之间的整数随机数,维度是2*10 随机生成给定范围内的一组整数
np.random.uniform() 随机生成给定范围内服从均匀分布的一组浮点数
np.random.choice() 在给定的序列内随机选择元素
np.random.normal() np.random.normal( 1, 2.1, size=(4,4) ) 生成4*4的矩阵,均值为1,方差为2.1 随机生成一组服从给定均值和方差的正态分布随机数
6) 条件逻辑的数组运算
np.where() result = np.where(cond, xarr, yarr) 三元表达式:x if condition else y的矢量化版本
np.where( arr>0, 2, -2) 将arr数组中>0的替换为2,其余替换为-2
np.where( arr>0, 2, arr) 将arr数组中>0的替换为2,其余不变

2. Pandas

模块引用方法:import pandas as pd

引用模块 函数/属性名 实例
1) pandas数据结构
Series() obj1=Series([4,7,5,3],index=[‘d’,‘b’,‘a’,‘c’]) 创建带索引的Series
states=[‘California’,‘Ohio’,‘Oregon’] 使用字典创建Series
obj3=Series(sdata,index=states)
Series()
DataFrame() frame2=DataFrame([[1,2,3],[4,5,6]],columns=[‘a’,‘b’,‘c’],index=[‘x’,‘y’])
基于索引名选取 obj[ col ]
obj[ colList ] students[[‘height’,‘weight’]]
obj.loc[ index, col ]
obj.loc[ indexList, colList ]
基于位置序号选取 obj.iloc[ iloc, cloc]
obj.iloc[ ilocList, clocList ]
obj.iloc[ a:b, c:d ] students.iloc[1:, 0:2]
条件筛选 obj.loc[ condition, colList ] students.loc[ students[‘height’]>=168, [‘height’,‘weight’] ]
obj.iloc[ condition, clocList ]
obj[colname] = list students[‘expense’] = [1500,1600,1200]
obj.drop(collist, axis, inplace,…) students.drop(1, axis=0)
students.drop(‘expense’, axis=1)
2) 数据文件读写
pd.read_csv() pd.read_csv(‘1111.csv’, index_col = 0, skiprows = [1,3,5], header = None, names = None)
object.to_csv() ts = Series(np.arange(7), index=dates)
ts.to_csv(‘ch06/tseries.csv’)
pd.read_excel() pd.read_excal(‘a.xlsx’)
skiprows参数 pd.read_csv(‘ch06/ex4.csv’, skiprows=[0, 2, 3]) 跳过文件的第一行、第三行和第四行
na_values参数 pd.read_csv(‘ch06/ex5.csv’ ,na_values=[‘NULL’])
nrows参数 pd.read_csv(‘ch06/ex6.csv’ , nrows=5) nrows=5表示读取前5行
delimiter参数 reader = csv.reader(f, delimiter= ’
3) 数据清洗
dataframe.dropna() data1.dropna(thresh=3) thresh代表保留几个有效值
dataframe.fillna() df1.fillna(0)
stu.fillna({‘年龄’:20, ‘体重’:stu[‘体重’].mean()} )
method=‘ffill’ method=‘bfill’
dataframe.drop_duplicates() df1.drop_duplicates()
dataframe.isnull() stu.isnull()
dataframe.any() stu.isnull().any()
4) 数据规整化
pd.concat() pd.concat([s1, s2, s3]) 默认情况下,concat按照行叠加
pd.merge() pd.merge(newstu,card, how=‘left’, left_on=‘学号’, right_on=‘ID’)
dataframe.sort_values() stu.sort_values(by=‘成绩’, ascending=False)
dataframe.rank() stu[‘成绩’].rank(method=‘min’, ascending=False)
5) 统计分析
sr.value_counts()
sr.unique()
sr.describe() stu[[‘身高’,‘体重’,‘成绩’]].describe()
sr1.corr(sr2) stu[‘身高’].corr( stu[‘体重’] )
df.corr() stu[[‘身高’,‘体重’,‘成绩’] ].corr()
df.count()
df.max()、df.min()
df.idxmax()、df.idxmin()
df.sum()
df.mean()、df.median() stu[‘成绩’].mean()
df.qantile() tu[‘月生活费’].quantile( [.25, .75] )
df.var()、df.std()
df.mode()
df.cumsum()
df.cov() stu[[‘身高’,‘体重’,‘成绩’] ].corr()
pd.crosstab(df[col1],df[col2]) pd.crosstab( stu[‘性别’], stu[‘月生活费’])
dataframe.groupby() grouped = stu.groupby([‘性别’, ‘年龄’])
grouped.aggregate() grouped.aggregate( {‘身高’:np.mean, ‘月生活费’:np.max } )

3. pandas & Matplotlib 绘图

引用模块 函数/属性名 实例
1)pandas绘图
dataframe.plot() data.plot(title=‘2010~2016 GDP’,LineWidth=2, marker=‘o’, linestyle=‘dashed’,color=‘r’, grid=True,alpha=0.9,use_index=True,yticks=[3.5,4.0,4.5,5.0,5.5,6.0,6.5,7.0,7.5])
b—blue c—cyan g—green k----black m—magenta r—red w—white y----yellow
’ ‘‐’ 实线 ‘‐‐’ 破折线 ‘‐.’ 点划线 ‘ :’ 虚线 ‘*’ 星性
‘o’ 实心圈标记 ‘v’ 倒三角标记 ‘s’ 实心方形标记 'p’实心五角标记
dataframe.plot.scatter() stdata.plot.scatter(x=‘Height’,y=‘Weight’,title=‘Students Body Shape’, marker=’*’,grid=True, xlim=[150,200], ylim=[40,80], label=’(Height,Weight)’)
pd.plotting.scatter_matrix() pd.plotting.scatter_matrix(data,diagonal=‘kde’,color=‘k’)
dataframe.boxplot() df1.boxplot(by=‘Gender’,figsize=(6,6))
(series/dataframe).plot() s.plot(kind=‘bar’, ax=axes[0], color=‘b’, alpha=0.7)
s.plot(kind=‘barh’, ax=axes[1], color=‘y’, alpha=0.7)
df.plot(kind=‘barh’, ax=axes[1], stacked=True, alpha=0.5)
s.plot(kind=‘pie’, figsize=(6,6), title=‘Party size’)
s.plot(kind=’hist’,bins=6,normed=True)
s.plot(kind=‘kde’,title=‘istribution’,xlim=[0,1000], style = ‘k–’)
x
y
kind
title
color
grid
fontsize
alpha
use_index
linewidth
linestyle
marker
2)Matplotlib绘图
import matplotlib.pyplot as plt plt.figure() fig = plt.figure(figsize=(8,4)) figsize参数指定绘图区域的宽度和高度,英寸
plt.plot() plt.plot(x, y, ‘o-’, color=‘green’, linewidth=2.0)
plt.xlabel()、plt.ylabel() plt.xlabel(‘时间(s)’, fontproperties=‘SimHei’, fontsize=15)
plt.ylabel(‘幅度(mV)’, fontproperties=‘SimHei’, fontsize=15)
plt.title() plt.title(‘Figure 1’)
plt.xticks()、plt.yticks() plt.xticks(range(0,7),(‘2010’,‘2011’,‘2012’,‘2013’,‘2014’,‘2015’,‘2016’))
plt.legend() plt.legend(loc=‘best’, fontsize=20)
plt.axis() plt.axis([0, 6, 0, 1.8])
plt.xlim()、plt.ylim() plt.xlim([0, 5np.pi/3])、plt.ylim([0, 5np.pi/3])
plt.text() plt.text(1.8,7.5,‘GDP keeps booming!’,fontsize=‘larger’)
plt.annotate() plt.annotate(‘turning point’,xy=(1,7.8),xytext=(0.5,7.5), arrowprops=dict(arrowstyle=’->’))
plt.grid() plt.grid(True)
plt.figure().add_subplot() ax1=fig.add_subplot(2,1,1)
figure.savefig() fig.savefig(‘2010-2012GDP.jpg’,dpi=400,bbox_inches=‘tight’)
plt.scatter() plt.scatter(x1, x2)
plt.show() plt.show()

4. Scikit-learn 机器学习

引用模块 函数/属性名 实例
1) 预处理
data.values.astype() X = data.iloc[ :, 0:5 ].values.astype(float)
y = data.iloc[ :, 5].values.astype(int)
from sklearn import model_selection train_test_split() X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.35, random_state=1)
from sklearn import preprocessing scale() X_scale = preprocessing.scale(X)
2) 初始化、训练模型,预测
from sklearn import tree DecisionTreeClassifier() clf = tree.DecisionTreeClassifier()
from sklearn import svm SVC() clf = svm.SVC(kernel=‘rbf’, gamma=0.6, C = 1.0)
from sklearn.cluster import KMeans LinearRegression() linreg = LinearRegression()
from sklearn import tree KMeans() kmeans = KMeans(n_clusters=3)
from sklearn.neural_network import MLPClassifier MLPClassifier() mlp = MLPClassifier(solver=‘lbfgs’,alpha=1e-5,hidden_layer_sizes=(5, 5), random_state=1)
model.fit() clf.fit(X, y)
kmeans.fit(X)
model.predict() print(“预期销售:”,load_linreg.predict(new_X) )
model.score() decision_score = linreg.score(X, y)
predict_score =linregTr.score(X_test,y_test)
3) 评估模型性能
from sklearn import metrics
mean_squared_error() test_err = metrics.mean_squared_error(y_test, y_test_pred)
confusion_matrix() metrics.confusion_matrix(y, predicted_y)
classification_report() metrics.classification_report(y, predicted_y)
adjusted_rand_score() metrics.adjusted_rand_score(y, kmeans.labels_)
silhouette_score() metrics.silhouette_score( X,kmeans.labels_,metric=‘euclidean’ )
4)保存、加载模型
from sklearn.externals import joblib dump() joblib.dump(linreg, ‘linreg.pkl’)
load() load_linreg = joblib.load(‘linreg.pkl’)

5. Text Processing 自然语言处理

引用模块 函数/属性名 实例
1) 分词、词性标注
import jieba jieba.cut() jieba.lcut(“2018年世界杯小组赛”)
sentence:待分词的字符串;cut_all:是否采用全模式;HMM:是否使用 HMM 模型。
jieba.cut_for_search() sentence:待分词的字符串;HMM:是否使用 HMM 模型。
jieba.lcut() jieba.lcut(“2018年世界杯小组赛”, cut_all = True)
jieba.lcut_for_search() jieba.lcut_for_search(“2018年世界杯小组赛”)
import jieba.posseg as pseg pseg.cut words = pseg.cut(“2018年世界杯小组赛”)
2)特征提取
from sklearn.feature_extraction.text import CountVectorizer CountVectorizer() cv = CountVectorizer()
cv.fit_transform() cv_fit=cv.fit_transform(split_corpus)
from sklearn.feature_extraction.text import TfidfTransformer TfidfTransformer() tfidf_transformer = TfidfTransformer()
tfidf_transformer.fit_transform() tfidf_fit = tfidf_transformer.fit_transform(cv_fit)
from sklearn.feature_extraction.text import TfidfVectorizer TfidfVectorizer() tfidf = TfidfVectorizer(token_pattern=r"(?u)\b\w+\b")
tfidf.fit_transform tfidf_fit=tfidf.fit_transform(split_corpus)

6. Graphic Processing 图形数据处理 | Kreas 深度神经网络

引用模块 函数/属性名 实例
1) 图形处理
from skimage import io io.imread() robot = io.imread(“data/Robot.jpg”)
img.shape robot.shape
io.imshow() io.imshow(robot)
io.show()
io.imsave() io.imsave(‘data/RobotHead.jpg’, head)
2) 深度神经网络库keras
from keras.models import Sequential Sequential() model = Sequential()
from keras.layers import Dense Dense() model.add(Dense(units=16, input_dim=4))
from keras.layers import Activation Activation() model.add(Activation(‘relu’))
from keras.layers import Dropout Dropout() model.add(Dropout(0.25)) 随机断开25%的连接
from keras.layers import Conv2D Conv2D() model.add(Conv2D(32, (3, 3), padding=‘same’,
input_shape=x_train.shape[1:]))
from keras.layers import MaxPooling2D MaxPooling2D() model.add(MaxPooling2D(pool_size=(2, 2)))
from keras.layers import Flattern Flattern() model.add(Flatten())
model.compile() model.compile(loss=‘categorical_crossentropy’, optimizer=‘adam’, metrics=[“accuracy”])
scores = model.evaluate(x_test, y_test, verbose=1)

8. Series and Speech Data 时序和语音数据处理

引用模块 函数/属性名 实例
1) ARIMA算法
from statsmodels.graphics.tsaplots import plot_acf plot_acf() plot_acf(data)
plot_pacf() plot_pacf(D_data)
from statsmodels.stats.diagnostic import acorr_ljungbox acorr_ljungbox() acorr_ljungbox(data[‘股价’], lags=1)
from statsmodels.tsa.stattools import adfuller as ADF ADF() ADF(data[‘股价’])
from statsmodels.tsa.arima_model import ARIMA ARIMA().fit() model = ARIMA(data, (p,1,q)).fit()
model.aic model.aic
model.summary2() model.summary2()
model.forecast(5) model.forecast(5)
2)语音识别
from aip import AipSpeech AipSpeech() client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
client.asr() result = aipSpeech.asr(get_file_content(file_name), ‘wav’, 16000, {‘dev_ip’: ‘1536’})

你可能感兴趣的:(付费专栏配套文章,python)