Python数据处理

Python数据处理,第1张

请执行以下命令下载样本数据

数据为CSV表格有8列,其中abstime列为时间列,其余列为特征列

!wget http://82.156.209.173/s/dHCnaH32rtZdxcs/download
!mv download sample_data_A100159.csv
1. 对给出的样本文件中的所有特征列做normalization,映射至(0-255)的区间,从abstime的第一行开始每隔200条取一次整行数据,并将最终取出的数据并以PNG格式的图片输出。

提示:输出图片用PIL库
可参考 https://blog.csdn.net/qq_42967398/article/details/95388563

对于样本 X N × K X_{N\times K} XN×K,共 N N N个样本, K K K个特征。sample_data_A100159.csv的shape是(4905, 8)。所以有 N = 4905 N=4905 N=4905 K = 8 K=8 K=8
1)归一化是按照每个特征进行归一化。对于第 k k k个特征,将数据归一化到[0,1]: X = X − X m i n X m a x − X m i n X=\frac{X-X_{min}}{X_{max}-X_{min}} X=XmaxXminXXmin2)对于第 k k k个特征,将数据归一化到[0,255],令 l o w = 0 , h i g h = 255 low=0,high=255 low=0,high=255 X = l o w + X − X m i n X m a x − X m i n ∗ ( h i g h − l o w ) X=low+\frac{X-X_{min}}{X_{max}-X_{min}}*(high-low) X=low+XmaxXminXXmin(highlow)3)若第 k k k个特征的值全部相同,那么 X m a x − X m i n = 0 X_{max}-X_{min}=0 XmaxXmin=0,分母为0,计算结果溢出,程序报错。令分母加一个小数(1e-5)。
4)numpy便于对N维数组对象进行整体的 *** 作。比如有 K K K列特征,不用循环 K K K次进行归一化 *** 作。数据是二维的,在第一维度上进行最大值最小值计算。第一维度是样本数量。 d a t a . m i n ( a x i s = 0 ) data.min(axis=0) data.min(axis=0)以及 d a t a . m a x ( a x i s = 0 ) data.max(axis=0) data.max(axis=0)两个 *** 作。

import pandas as pd 
import numpy as np 
import random 
from PIL import Image 
#################################
#  CODING HERE
sample_data = pd.read_csv("sample_data_A100159.csv",header = 0)
data = np.array(sample_data)
print(data.size) #39240
print(data.shape) #(4905, 8)
print(data.ndim) #2
print(data.dtype) #float64
#归一化
x_nor = (data - data.min(axis=0))/(data.max(axis=0)-data.min(axis=0)+1e-5)* (255.0-0.0)+0.0
#(某个元素-它这列最小的数)/(它这列最大的数-它这列最小的数)
print(x_nor.shape)

data = pd.DataFrame(x_nor)
data.to_csv("normalization_A100159.csv",index=False,header=False)
abstime=data[:][6]
print(data[:][6])
ans = [][]
for i in range(0 , 4094 , 200): 
    ans.append(abstime[i])
print(ans.length())
#################################

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/730061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存