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中readline判断文件读取结束的方法
Nov 08 Python
使用Python的Django框架实现事务交易管理的教程
Apr 20 Python
在Python的列表中利用remove()方法删除元素的教程
May 21 Python
python实现机器人行走效果
Jan 29 Python
Python 编程速成(推荐)
Apr 15 Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 Python
python并发编程多进程 互斥锁原理解析
Aug 20 Python
python3的url编码和解码,自定义gbk、utf-8的例子
Aug 22 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
Jan 10 Python
Python正则表达式如何匹配中文
May 27 Python
无需压缩软件,用python帮你操作压缩包
Aug 17 Python
python脚本第一行如何写
Aug 30 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
php5中类的学习
2008/03/28 PHP
php curl常用的5个经典例子
2017/01/20 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
如何在vue中使用jointjs过程解析
2020/05/29 Javascript
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
Python寻找两个有序数组的中位数实例详解
2018/12/05 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
民主评议党员自我评价材料
2014/09/18 职场文书
经典导游欢迎词
2015/01/26 职场文书
大学生团日活动总结
2015/05/06 职场文书
考试后的感想
2015/08/07 职场文书