Python之数据处理-2
一、数据处理其实是一个很麻烦的事情。
在一个样本中存在特征数据(比如:人(身高、体重、出生年月、年龄、职业、收入...))当数据的特征太多或者特征权重小或者特征部分满足的时候。
这个时候就要进行数据的处理(比如:预测性别,特征出生年月,的影响就会很低,这里就要减少这一特征的权重,或者删除。再比如:预测92年的人的职业,这个时候首先需要过滤特征,然后判断出生年月中的年就没有必要成为特征,但是可以新增特征月,删除原来的出生年月特征)
还有就是我们在使用table数据时,一般数据都是分开(比如:用户、角色、权限等)。我们这个时候就需要把数据合并成一个群体样本。通过他们之间的联系,进行数据合并。
二、上面只是列举了几种数据的处理方式,实际的数据处理比想象的要复杂。当数据特征数据处理的很好的时候,我们会进行数据分割。一般分割为训练集、测试集。目的用来评估模型的准确度。
三、例举几种数据处理方式:
1)数据合并
# 读取数据
orders = pandas.read_csv("market/orders.csv")
prior = pandas.read_csv("market/order_products__prior.csv")
products = pandas.read_csv("market/products.csv")
aisles = pandas.read_csv("market/aisles.csv")
# 合并数据
_msg = pandas.merge(orders, prior, on=["order_id", "order_id"])
_msg = pandas.merge(_msg, products, on=["product_id", "product_id"])
merge_data = pandas.merge(_msg, aisles, on=["aisle_id", "aisle_id"])
# 交叉表(特殊分组)
# (用户ID, 类别)
cross = pandas.crosstab(merge_data["user_id"], merge_data["aisle"])
2)过滤特征
# 数据筛选
train_data = train_data.query("x > 1.0 & x < 1.25 & y > 2.5 & y < 2.75")
3)新增删除特征
# 转换时间
time_value = pandas.to_datetime(train_data["time"], unit="s")
# 转换成字典
time_value = pandas.DatetimeIndex(time_value)
# print(time_value) # 构造特征
data = train_data.copy()
data["day"] = time_value.day
data["hour"] = time_value.hour
data["weekday"] = time_value.weekday
# print(train_data.head(10)) # 删除影响特征的数据,axis为1纵向删除
data = data.drop(["time"], axis=1) # 转换时间
time_value = pandas.to_datetime(train_data["time"], unit="s")
# 转换成字典
time_value = pandas.DatetimeIndex(time_value)
# print(time_value) # 构造特征
data = train_data.copy()
data["day"] = time_value.day
data["hour"] = time_value.hour
data["weekday"] = time_value.weekday
# print(train_data.head(10)) # 删除影响特征的数据,axis为1纵向删除
data = data.drop(["time"], axis=1) # 删除小于目标值的数据
place_count = data.groupby("place_id").count()
# print(place_count)
# 过滤数量大于5的地点ID,并且加入列中
tf = place_count[place_count.x > 5].reset_index()
# print(tf)
data = data[data["place_id"].isin(tf.place_id)] # 取特征值和目标值
y = data["place_id"]
x = data.drop(["place_id", "row_id"], axis=1)
4)数据分割(sklearn.model_selection),很重要
# 数据分割
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)
x,y:训练集和目标值
x_train, y_train:训练集
x_test, y_test:测试集
Python之数据处理-2的更多相关文章
- python地理数据处理库geopy
http://blog.csdn.net/pipisorry/article/details/52205266 python地理位置处理 python地理编码地址以及用来处理经纬度的库 GeoDjan ...
- Python空间数据处理环境搭
Python空间数据处理环境搭 Conda的下载和安装 什么是Conda? 官方定义:Package, dependency and environment management for any la ...
- Python之数据处理
一.CSV数据处理 CSV文件格式:逗号分隔值(Comma-Separated Value,CSV,有时也称为字符分隔值,因为分隔符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文 ...
- Python爬虫数据处理
一.首先理解下面几个函数 设置变量 length()函数 char_length() replace() 函数 max() 函数1.1.设置变量 set @变量名=值 set @address='中国 ...
- python常用数据处理库
Python之所以能够成为数据分析与挖掘领域的最佳语言,是有其独特的优势的.因为他有很多这个领域相关的库可以用,而且很好用,比如Numpy.SciPy.Matploglib.Pandas.Scikit ...
- Python - 基本数据处理函数round()、int()、floor()、ceil()
前言 对每位程序员来说,在编程过程中数据处理是不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数据处理.取整的方式则包括向下取整.四舍五入.向上取整等等.下面就来看看在Pyt ...
- Python的数据处理学习(三)
三.类的继承 Python 的class可以允许从零开始创建一个定制类,就像文章(二)创建Athlete类一样,也可以通过继承现有的其他类类创建一个类,这也包括用List.set和dict提供的p ...
- Python的数据处理学习(二)
本文参考Paul Barry所著的<Head First Python>一书,参考代码均可由http://python.itcarlow.ie/站点下载.本文若有任何谬误希望不吝赐教~ 二 ...
- python pandas 数据处理
pandas是基于numpy包扩展而来的,因而numpy的绝大多数方法在pandas中都能适用. pandas中我们要熟悉两个数据结构Series 和DataFrame Series是类似于数组的对象 ...
- 6 python高级数据处理和可视化
6.2. pyplot作图 1.折线图和散点图 t = np.arange(0,4,0.1) plt.plot(t,t,'o',t,t+2,t,t**2,'o') plt.show() 2.柱线图 p ...
随机推荐
- layui 提交验证以及field作用
设置值时只需data.field.name(input中name属性)=1;即可赋值data.field.index_desc = layedit.getContent(index_desc); $. ...
- functools.partial偏函数的使用
https://docs.python.org/3.6/library/functools.html 从名字可以看出,该函数的作用就是部分使用某个函数,即冻结住某个函数的某些参数,让它们保证为某个值, ...
- JS 数字相加出现多个小数的问题
今天在页面上用到了js进行小数相加119.01+0.01,结果大家都知道应该是:119.02的,然而结果是119..0200000…. ,莫名其妙的,还以为是我写的程序有问题,后来查了下才知道这是ja ...
- android多图选择器 图片/视频 单选or多选,以及视频录制。
PictureSelector 最近项目中用到多图选择上传的需求,考虑到android机型众多问题就自己花时间写了一个,测试了大概60款机型,出现过一些问题也都一一修复了,基本上稳定了特分享出来,界面 ...
- SAP RFC和BAPI
RFC和BAPI都是SAP提供的接口技术.RFC全称Remote Function Call,就是允许远程调用的函数模块. BAPI则是基于RFC的新技术,全称Business Application ...
- 使用meta跳转页面
<Meta http-equiv="Refresh" Content="3; Url=http://www.baidu.com">
- array_fill 填充数组内容
<?php $a = array_fill(, , 'banana'); $b = array_fill(-, , 'pear'); print_r($a); print_r($b) Array ...
- 【tshark tcpdump】linux网络排查
抓包: 1.tcpdump 2.tshark是wireshark的命令行版. tshark使用示例: ,实时打印当前http请求的url # tshark -s -i eth0 -n -f 'tcp ...
- LODOP指定window默认打印机和临时默认打印机
通过以下语句,可指定windows默认打印机LODOP.SET_PRINT_MODE("WINDOW_DEFPRINTER",某打印机名或序号);这种默认打印机是指的windows ...
- JSON和JSONP具体是干神马的呢? (含jQuery实例)
说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服 ...