代码来自 echarts 数据可视化项目实践
import pandas as pd
from pandas import DataFrame
# 读取数据
df1 = pd.read_csv(r'file path', encoding='gbk')
df2 = pd.read_csv(r'file path', encoding='gbk')
# 异常数据处理
df1 = df1.dropna()
df2 = df2.dropna()
# 两表合并
df = df1.merge(df2, on='Goods')
# 创建h_task1来进行柱形图的数据处理
def h_task1():
df_1 = df[df['Types'] == '非酒精饮料']
df_2 = df_1.groupby(['Good']).count()
df_3 = df_2['Types']
# 将df_3的数据转换为DataFrame
tmp1 = pd.DataFrame(df_3)
# 将索引和值转换为列表
v = tmp1.values.tolist()
name = tmp1.values.tolist()
# 列表v[[],[],[],[]......],再次处理转为新的列表格式
value = []
for i in v:
value.append(i[0])
# 返回字典格式数据
return {
# name是非酒精饮料类型商品的名称
'name': name,
'value': value}
def h_task2():
df_1 = df.groupby(['Goods']).count()
# 按照id降序排列
df_2 = df_1.sort_values(by='ID', ascending=False)
# 取出前十条数据
tmp = df_2.iloc[0:10, 0:1]
# 将索引和值转换为列表
name = tmp.index.tolist()
v = tmp.values.tolist()
# 列表v[[],[],[],[]......],再次处理转为新的列表格式
value = []
for i in v:
value.append(i[0])
value.reverse()
name.reverse()
return {
# name是非酒精饮料类型商品的名称
'name': name, # 商品名
'value': value # 商品数量
}
def h_task3():
# 按商品的类型统计数