安卓手机python数据可视化_python 数据可视化

# -*- coding:utf-8 -*-

# 异常值处理

import pandas as pda

import numpy as npy

import matplotlib

matplotlib.use('Agg')

import matplotlib.pyplot as pyl

import io

def index(data):

# 输出结果必须为字典output

output = {}

# data = pda.read_excel("D:/taobao2.xls")

data = pda.DataFrame(data[1:], columns=data[0])

# print(data)

data.describe()

# 画散点图(横轴为价格,纵轴为评论数)

# 得到价格

data2 = data.T

price = data2.values[2]

# 得到评论数据

comt = data2.values[3]

fig = pyl.figure()

# print(price)

# print(comt)

pyl.plot(price, comt, 'o')

canvas = fig.canvas

buffer = io.BytesIO()

canvas.print_png(buffer)

img_spl = buffer.getvalue()

# print(data)s

buffer.close()

output['img_散点图'] = img_spl

# pyl.show()

# 评论数异常>100000,价格异常>1000

line = len(data.values)

col = len(data.values[0])

da = data.values

for i in range(0, line):

for j in range(0, col):

if (int(da[i][2]) > 1000):

# print(da[i])

da[i][2] = data["价格"].mean()

if (int(da[i][3]) > 100000):

# print(da[i])

da[i][3] = data["评论"].mean()

daF = pda.DataFrame(da)

daF.sort_values(by=3)

da2 = da.T

price = da2[2]

comt = da2[3]

fig2 = pyl.figure()

pyl.plot(price, comt, 'o')

canvas = fig2.canvas

buffer = io.BytesIO()

canvas.print_png(buffer)

img_spl2 = buffer.getvalue()

# print(data)s

buffer.close()

output['img_第二张散点图'] = img_spl2

# pyl.show()

# 分布分析--直方图

fre_price = dict()

for num in da2[2]:

fre_price[num] = fre_price.get(num, 0) + 1

fre_price.keys()

fre_price.values()

pyl.bar(list(fre_price.keys()), list(fre_price.values()))

# 数据集成

da200 = da[0:200]

da300 = da[200:500]

da500 = npy.concatenate((da200, da300))

pda.DataFrame(da200)

output['data_数据集成'] = pda.DataFrame(da200).values.tolist()

# print(pda.DataFrame(da200))

# 标准化

# 离差标准化

data["价格"] = (data["价格"] - data["价格"].min()) / (data["价格"].max() - data["价格"].min())

# 标准差标准化

data["价格"] = (data["价格"] - data["价格"].mean()) / data["价格"].std()

print(output)

return output

if __name__ == "__main__":

data = nosupervision_read_data()

index(data)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值