pandas 数据归一化以及行删除例程的方法


Posted in Python onNovember 10, 2018

如下所示:

#coding:utf8
import pandas as pd
import numpy as np
from pandas import Series,DataFrame
 
# 如果有id列,则需先删除id列再进行对应操作,最后再补上
# 统计的时候不需要用到id列,删除的时候需要考虑
# delete row
def row_del(df, num_percent, label_len = 0):
	#print list(df.count(axis=1))
	col_num = len(list(list(df.values)[1])) - label_len # -1为考虑带标签
	if col_num<0:
		print 'Error'
	#print int(col_num*num_percent)
	return df.dropna(axis=0, how='any', thresh=int(col_num*num_percent))
 
# 如果有字符串类型,则报错
# data normalization -1 to 1
# label_col: 不需考虑的类标,可以为字符串或字符串列表
# 数值类型统一到float64
def data_normalization(df, label_col = []):
	lab_len = len(label_col)
	print label_col
	if lab_len>0:
		df_temp = df.drop(label_col, axis = 1)
		df_lab = df[label_col]
		print df_lab
	else:
		df_temp = df
	max_val = list(df_temp.max(axis=0))
	min_val = list(df_temp.min(axis=0))
	mean_val = list((df_temp.max(axis=0) + df_temp.min(axis=0)) / 2)
	nan_values = df_temp.isnull().values
	row_num = len(list(df_temp.values))
	col_num = len(list(df_temp.values)[1])
	for rn in range(row_num):
		#data_values_r = list(data_values[rn])
		nan_values_r = list(nan_values[rn])
		for cn in range(col_num):
			if nan_values_r[cn] == False:
				df_temp.values[rn][cn] = 2 * (df_temp.values[rn][cn] - mean_val[cn])/(max_val[cn] - min_val[cn])
			else:
				print 'Wrong'
	for index,lab in enumerate(label_col):
		df_temp.insert(index, lab, df_lab[lab])
	return df_temp
 
 
# 创建一个带有缺失值的数据框:
df = pd.DataFrame(np.random.randn(5,3), index=list('abcde'), columns=['one','two','three'])
df.ix[1,:-1]=np.nan
df.ix[1:-1,2]=np.nan
df.ix[0,0]=int(1)
df.ix[2,2]='abc'
 
# 查看一下数据内容:
print '\ndf1'
print df
 
print row_del(df, 0.8)
 
print '-------------------------'
 
df = data_normalization(df, ['two', 'three'])
print df
 
print df.dtypes
 
print (type(df.ix[2,2]))

以上这篇pandas 数据归一化以及行删除例程的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
零基础写python爬虫之爬虫框架Scrapy安装配置
Nov 06 Python
在Python中使用NLTK库实现对词干的提取的教程
Apr 08 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
Jun 30 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
Dec 15 Python
python 爬虫出现403禁止访问错误详解
Mar 11 Python
利用python实现简单的循环购物车功能示例代码
Jul 05 Python
flask使用session保存登录状态及拦截未登录请求代码
Jan 19 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 Python
python爬取基于m3u8协议的ts文件并合并
Apr 26 Python
在python 中split()使用多符号分割的例子
Jul 15 Python
python已协程方式处理任务实现过程
Dec 27 Python
Python基础之高级变量类型实例详解
Jan 03 Python
python 重命名轴索引的方法
Nov 10 #Python
Pandas:Series和DataFrame删除指定轴上数据的方法
Nov 10 #Python
Pandas DataFrame 取一行数据会得到Series的方法
Nov 10 #Python
对python创建及引用动态变量名的示例讲解
Nov 10 #Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
Nov 10 #Python
在Python中定义一个常量的方法
Nov 10 #Python
python 定义n个变量方法 (变量声明自动化)
Nov 10 #Python
You might like
用PHP实现小型站点广告管理(修正版)
2006/10/09 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
php实现webservice实例
2014/11/06 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
Jqprint实现页面打印
2017/01/06 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
python实现多线程采集的2个代码例子
2014/07/07 Python
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
浅析Python中的多进程与多线程的使用
2015/04/07 Python
Python中splitlines()方法的使用简介
2015/05/20 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
迪卡侬(Decathlon)加拿大官网:源自法国的运动专业超市
2020/11/22 全球购物
力学专业毕业生自荐信
2013/11/17 职场文书
学校采购员岗位职责
2014/01/02 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书