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语言使用技巧分享
May 31 Python
Python中如何使用if语句处理列表实例代码
Feb 24 Python
利用python将图片版PDF转文字版PDF
May 03 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
python3中的eval和exec的区别与联系
Oct 10 Python
Flask框架请求钩子与request请求对象用法实例分析
Nov 07 Python
如何基于python操作excel并获取内容
Dec 24 Python
pandas中read_csv、rolling、expanding用法详解
Apr 21 Python
Django URL参数Template反向解析
Nov 24 Python
pycharm中leetcode插件使用图文详解
Dec 07 Python
Python实现视频中添加音频工具详解
Dec 06 Python
Python与C++中梯度方向直方图的实现
Mar 17 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 mssql 日期出现中文字符的解决方法
2009/03/10 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
一个JS翻页效果
2007/07/23 Javascript
js 动态选中下拉框
2009/11/26 Javascript
jQuery Tools tab使用介绍
2012/07/14 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
微信小程序获取用户openid的实现
2018/12/24 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
基于node简单实现RSA加解密的方法步骤
2019/03/21 Javascript
简单了解微信小程序的目录结构
2019/07/01 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
Python探索之SocketServer详解
2017/10/28 Python
Python动态导入模块的方法实例分析
2018/06/28 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
python全栈知识点总结
2019/07/01 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
Pretty You London官网:英国拖鞋和睡衣品牌
2019/05/08 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
医学护理毕业生自荐信
2013/11/07 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
走进毛泽东观后感
2015/06/04 职场文书
2016新年致辞
2015/08/01 职场文书
2015年小学师德师风建设工作总结
2015/10/23 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript