Python数据科学
以Python为核心语言,专攻于「数据科学」领域,文章涵盖数据分析,数据挖掘,机器学习等干货内容,分享大量数据挖掘实战项目分析和讲解,以及海量的学习资源。
为了大家能够对人工智能常用的 Python 库有一个初步的了解,以选择能够满足自己需求的库进行学习,对目前较为常见的人工智能库进行简要全面的介绍。
1、Numpy
NumPy(Numerical Python)
是 Python
的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,Numpy
底层使用C语言
编写,数组中直接存储对象,而不是存储对象指针,所以其运算效率远高于纯Python代
码。我们可以在示例中对比下纯Python
与使用Numpy库
在计算列表sin值的速度对比:
import numpy as np
import math
import random
import time
start = time.time()
for i in range(10):
list_1 = list(range(1,10000))
for j in range(len(list_1)):
list_1[j] = math.sin(list_1[j])
print("使用纯Python用时{}s".format(time.time()-start))
start = time.time()
for i in range(10):
list_1 = np.array(np.arange(1,10000))
list_1 = np.sin(list_1)
print("使用Numpy用时{}s".format(time.time()-start))
从如下运行结果,可以看到使用 Numpy
库的速度快于纯 Python 编写的代码:
使用纯Python用时0.017444372177124023s 使用Numpy用时0.001619577407836914s
2.
item_get-获得淘宝商品详情
taobao.item_get
公共参数
请求地址: 申请调用KEY
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
key | String | 是 | 调用key(必须以GET方式拼接在URL中) |
secret | String | 是 | 调用密钥 |
api_name | String | 是 | API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等] |
cache | String | 否 | [yes,no]默认yes,将调用缓存的数据,速度比较快 |
result_type | String | 否 | [json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读 |
lang | String | 否 | [cn,en,ru]翻译语言,默认cn简体中文 |
version | String | 否 | API版本 |
请求代码
<?php
// 请求示例 url 默认请求参数已经URL编码处理
// 本示例代码未加密secret参数明文传输,若要加密请参考:https://open.…….cn/help/demo/sdk/demo-sign.php
$method = "GET";
$url = "https://api-gw.…….cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1";
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_ENCODING, "gzip");
var_dump(curl_exec($curl));
?>
3、OpenCV
OpenCV
是一个的跨平台计算机视觉库,可以运行在 Linux、Windows 和 Mac OS 操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时也提供了 Python
接口,实现了图像处理和计算机视觉方面的很多通用算法。下面代码尝试使用一些简单的滤镜,包括图片的平滑处理、高斯模糊等:
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
img = cv.imread('h89817032p0.png')
kernel = np.ones((5,5),np.float32)/25
dst = cv.filter2D(img,-1,kernel)
blur_1 = cv.GaussianBlur(img,(5,5),0)
blur_2 = cv.bilateralFilter(img,9,75,75)
plt.figure(figsize=(10,10))
plt.subplot(221),plt.imshow(img[:,:,::-1]),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(222),plt.imshow(dst[:,:,::-1]),plt.title('Averaging')
plt.xticks([]), plt.yticks([])
plt.subplot(223),plt.imshow(blur_1[:,:,::-1]),plt.title('Gaussian')
plt.xticks([]), plt.yticks([])
plt.subplot(224),plt.imshow(blur_1[:,:,::-1]),plt.title('Bilateral')
plt.xticks([]), plt.yticks([])
plt.show()
4.Open AI 接口数据
参数说明: 文本模式参数:&_o_args={"prompt": "中国队什么时候进世界杯","max_tokens":200} prompt 文本,max_token 词汇最大量
图片模式参数:&_o_args={"prompt":"地球","n":10} prompt 图片描述文本,n 返回图片数
api:openAI开放平台的接口名(如:v1/completions)
其它参数:参考官方平台接口文档,与官方的参数一致
请求示例
<?php
// 请求示例 url 默认请求参数已经URL编码处理
// 本示例代码未加密secret参数明文传输,若要加密请参考:https://open.…….cn/help/demo/sdk/demo-sign.php
$method = "GET";
$url = "https://api-gw.…….cn/openai/custom/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&method=";
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_ENCODING, "gzip");
var_dump(curl_exec($curl));
?>
5.
item_search-按关键字搜索商品
1688.item_search
请求参数
请求参数:q=女装&start_price=0&end_price=0&page=1&cat=0&discount_only=&sort=&page_size=40&seller_info=no&nick=&seller_info=&nick=&ppath=&imgid=&filter=
参数说明:q:搜索关键字
cat:分类ID
start_price:开始价格
end_price:结束价格
sort:排序[bid,_bid,_sale,_credit]
(bid:总价,sale:销量,credit信用,加_前缀为从大到小排序)
page:页数 page_size:每页宝贝数量,默认40
filter:额外的过滤参数,如:filter=filtId:1,2,3,4;activityType:1,2,3,4;city:天津;quantityBegin:1000
filtId 过滤:48小时发货,7+天包换,赠运费险,免费赊账;
activityType 优惠类型:包邮,产地货源,伙拼,手机专享价
city 地区:地区名
quantityBegin 起订量:数字
请求代码
<?php
// 请求示例 url 默认请求参数已经URL编码处理
// 本示例代码未加密secret参数明文传输,若要加密请参考:https://open.…….cn/help/demo/sdk/demo-sign.php
$method = "GET";
$url = "https://api-gw.…….cn/1688/item_search/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&q=女装&start_price=0&end_price=0&page=1&cat=0&discount_only=&sort=&page_size=40&seller_info=no&nick=&seller_info=&nick=&ppath=&imgid=&filter=";
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_ENCODING, "gzip");
var_dump(curl_exec($curl));
?>
6.
item_search_img-按图搜索1688商品(拍立淘)
1688.item_search_img
公共参数
请求地址: 申请注册地址
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
key | String | 是 | 调用key(必须以GET方式拼接在URL中) |
secret | String | 是 | 调用密钥 |
api_name | String | 是 | API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等] |
cache | String | 否 | [yes,no]默认yes,将调用缓存的数据,速度比较快 |
result_type | String | 否 | [json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读 |
lang | String | 否 | [cn,en,ru]翻译语言,默认cn简体中文 |
version | String | 否 | API版本 |
<?php
// 请求示例 url 默认请求参数已经URL编码处理
// 本示例代码未加密secret参数明文传输,若要加密请参考:https://open.…….cn/help/demo/sdk/demo-sign.php
$method = "GET";
$url = "https://api-gw.…….cn/1688/item_search_img/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&imgid=http://g-search3.alicdn.com/img/bao/uploaded/i4/O1CN01IDpcD81zHbpHs1YgT_!!2200811456689.jpg";
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_ENCODING, "gzip");
var_dump(curl_exec($curl));
?>
7.
item_get_app-获得淘宝app商品详情原数据
taobao.item_get_app 数据最全的商品详情接口 可以拿到优惠卷数据和特殊参数
<?php
// 请求示例 url 默认请求参数已经URL编码处理
// 本示例代码未加密secret参数明文传输,若要加密请参考:https://open.…….cn/help/demo/sdk/demo-sign.php
$method = "GET";
$url = "https://api-gw.…….cn/taobao/item_get_app/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=520813250866";
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_ENCODING, "gzip");
var_dump(curl_exec($curl));
?>
8.
拼多多根据ID取商品详情 API返回值说明
item_get-根据ID取商品详情
pinduoduo.item_get
公共参数
请求地址: 申请调用KEY地址
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
key | String | 是 | 调用key(必须以GET方式拼接在URL中) |
secret | String | 是 | 调用密钥 |
api_name | String | 是 | API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等] |
cache | String | 否 | [yes,no]默认yes,将调用缓存的数据,速度比较快 |
result_type | String | 否 | [json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读 |
lang | String | 否 | [cn,en,ru]翻译语言,默认cn简体中文 |
version | String | 否 | API版本 |
请求参数
请求参数:num_iid=1620002566
参数说明:num_iid:商品ID ;
响应参数
Version: Date:
名称 | 类型 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
num_iid |
String | 0 | 1999629976 | 商品ID |
title |
String | 0 | 2019新款女装短袖t恤女夏宽松韩版休闲上衣百搭蝙蝠衫五分袖体恤 | 商品标题 |
price |
Float | 0 | 8.8 | 价格 |
minGroupPrice |
String | 0 | ||
maxGroupPrice |
String | 0 | ||
total_price |
Float | 0 | ||
orginal_price |
Float | 0 | 原价 | |
nick |
String | 0 | 雅怡服饰1688 | 卖家昵称 |
num |
Int | 0 | 233 | 库存 |
sales |
Int | 0 | 76 | 销量 |
detail_url |
String | 0 | http://yangkeduo.com/goods.html?goods_id=1999629976 | 宝贝链接 |
desc |
String | 0 | 本店默认申通快递【还有百世汇通 中通快递 中通 韵达 邮政】。商家建议尺码仅供参考。如有其它问题请及时联系客服!喜欢的赶紧购买,质量保证,买的放心,穿的也开心! | 商品备注 |
item_imgs |
Mix | 0 | [{"url": "//t00img.yangkeduo.com/t05img/images/2018-06-28/24bcb29df1195edaea840afd3e1bdaf9.jpeg?imageMogr2/strip%7CimageView2/2/w/1300/q/80"}] | 宝贝图片列表 |
pic_url |
String | 0 | //t00img.yangkeduo.com/t05img/images/2018-06-28/24bcb29df1195edaea840afd3e1bdaf9.jpeg?imageMogr2/thumbnail/150x/quality/50 | 宝贝图片 |
props_name |
String | 0 | 商品属性名 | |
prop_imgs |
Mix | 0 | {"prop_img": [ {"properties": "0:0;1:1", "url": "//t00img.yangkeduo.com/t10img/images/2018-06-28/5c8f783ab2c4fea0ffea8fac73d8b2c2.jpeg"}]} | 商品属性图片列表 |
props |
Mix | 0 | 商品详情 | |
skus |
Mix | 0 | {"sku": [{"price": "16.56", "total_price": null, "orginal_price": "20.9", "properties": "0:0;1:1", "properties_name": "0:0:颜色:黑色;1:1:尺码:M【75-100斤】", "quantity": 221, "sku_id": 36410965966}] | 商品规格信息 |
props_list |
Mix | 0 | { "0:0": "颜色:黑色","1:1": "尺码:M【75-100斤】"} | 商品属性 |
props_img |
Mix | 0 | {"0:0;1:1": "//t00img.yangkeduo.com/t10img/images/2018-06-28/5c8f783ab2c4fea0ffea8fac73d8b2c2.jpeg"} | 属性图片 |
property_alias |
String | 0 | 商品属性别名 | |
seller_info |
Mix | 0 | {"nick": "雅怡服饰1688", "city": "", "level": null, "rate": null, "score": 4.27, "delivery_score": 4.37, "item_score": 4.38, "shop_type": "", "user_num_id": "", "sid": 99033, "shop_name": "雅怡服饰1688", "zhuy": "", "menu": [] } | 卖家信息 |
shop_item |
Mix | 0 | [] | |
relate_items |
Mix | 0 | [] |