2019-2-14 first

# 单行注释
# ''  "" 表示一个字符串类型的数据
# Syntax语法 Error 错误
print("你好")
# python是弱类型语言,变量不用声明变量类型,变量类型由值的类型决定
# 将一个数字赋值 例:
pi = 3.14159264654685468526854

print(pi)
print(pi)
x = 10
y = 20
print(x*y)
# 计算x*y的结果 并输出 因为是一个运算表达式
print('x*y')
# 将计算的结果重新赋值给一个新的变量C
c = x*y
print(c)

a = '10.5'

print(type(a))
# <class 'str'字符串>
#  ''  "" 表示一个字符串类型的数据
a = 10.5

print(type(a))
# <class 'float'浮点类型>
a = 10

print(type(a))
#  <class 'int'整数类型>





# 打出租车起步价8元,包含2公里,超出的部分每公里1.5元
# 打车行驶了21公里,应付多少钱
# 行驶公里数
gong_li = 21

money = 8 + (gong_li - 2) * 1.5


# 输出 您的车费为:36.5元
# 格式化字符串f'{要拼接的变量名}' (formart)
print(f"您的车费为:{money}元")
# 占位符 在字符串中 给变量占一个位置
# %d 整数类型占位符 %f浮点类型占位符 %s通用占位符
# %.2f元保留小数点后两位 %.3f 保留小数点后三位 默认保留小数点后6位
print("您的车费为:%.2f元" % money )
# 输出 您公行驶了21公里 车费为36.5元
print(f"您共行驶了{gong_li}公里,车费为:{money}元")
print("您共行驶了: %d公里, 车费为: %s元" % (gong_li,money))
food = "牛肉面"
money = 10
print("今天中午吃了一碗{},消费{}元".format(food,money))
print("吃了: %s碗,消费为: %s元" % (food,money))
print(f"吃了{food}碗,消费为:{money}元")
order_date sales_region_code item_code first_cate_code second_cate_code sales_chan_name item_price ord_qty 2016-03-15 101 20001 302 408 offline 700 102 2016-03-21 101 20001 302 408 offline 705 19 2016-03-23 101 20001 302 408 offline 702 36 2016-03-24 101 20001 302 408 offline 692 204 2016-03-25 101 20001 302 408 offline 693 36 2016-05-06 101 20001 302 408 offline 707 305 2016-05-09 101 20001 302 408 offline 709 206 2017-08-04 101 20002 303 406 offline 1958 4 2018-03-14 101 20002 303 406 offline 2166 2 2018-03-16 101 20002 303 406 offline 2466 3 2018-03-25 101 20002 303 406 offline 2453 3 2018-03-31 101 20002 303 406 offline 2462 9 以上数据是excel表格,你能都出来吗 上表表格保存在test.xlsx文件:order_date(订单日期,注:订单日期从2015 年 9 月 1日至 2018 年 12 月 20 日)、sales_region_code(销售区域编码)、item_code(产品编码)、first_cate_code (产品大类编码)、second_cate_code (产品细类编码)、sales_chan_name (销售渠道名称)、item_price (产品价格)和 ord_qty (订单需求量) 希望给出下列描述的python代码。 读入表格,将数据转为模型可用的格式。 训练集与测试集的数据要转换成模型可使用的数据格式,数据维度要与模型的输入相匹配。 使用tensorflow创建多层卷积与多层lstm相结合的模型,其训练数据为相同的产品编码,对应的订单日期,对应的订单需求量。然后进行模型训练 模型训练完成后,对不同的产品编码预测其在2019年1月至3月每月的订单需求量。 需要将信息保存在result.xlsx表格中,其中应包含以下数据,产品编码,和对应的2019年1月订单需求量,2019年2月的需求量,2019年3月的需求量。
04-23
抱歉,作为AI,我没有能力读取外部表格。这个问题需要使用Python相关的库进行处理。以下是参考代码: ```python import pandas as pd import numpy as np import tensorflow as tf # 读入表格 df = pd.read_excel('test.xlsx') # 转换为模型可用的格式 def convert_to_model_format(df): # 将日期转换为时间戳 df['timestamp'] = pd.to_datetime(df['order_date']).astype(np.int64) // 10**9 # One-hot编码 df = pd.get_dummies(df, columns=['sales_region_code', 'first_cate_code', 'second_cate_code', 'sales_chan_name']) # 取出需要的列 df = df[['item_code', 'timestamp', 'ord_qty'] + list(df.columns[8:])] # 按照同一产品编码进行分组 groups = df.groupby('item_code') # 将每个分组转换为模型可用的格式 result = [] for _, group in groups: sequences = [] targets = [] for i in range(49, len(group)): sequences.append(group.iloc[i-49:i, 2:].values) targets.append(group.iloc[i, 2]) result.append((np.array(sequences), np.array(targets))) return result data = convert_to_model_format(df) # 创建模型 def create_model(): inputs = tf.keras.layers.Input(shape=(49, 267)) conv = inputs for i in range(3): conv = tf.keras.layers.Conv1D(filters=64, kernel_size=3, activation='relu')(conv) lstm = tf.keras.layers.LSTM(units=128)(conv) dense = tf.keras.layers.Dense(units=64, activation='relu')(lstm) outputs = tf.keras.layers.Dense(units=1)(dense) model = tf.keras.models.Model(inputs=inputs, outputs=outputs) model.compile(optimizer='adam', loss='mse', metrics=['mae']) return model model = create_model() # 训练模型 for x_train, y_train in data: model.train_on_batch(x_train, y_train) # 预测 def predict(model, item_code): # 构造测试数据 dates = pd.date_range(start='2019-01-01', end='2019-03-31', freq='MS').astype(np.int64) // 10**9 df_test = pd.DataFrame({'timestamp': dates}) df_test['item_code'] = item_code df_test = pd.get_dummies(df_test, columns=['item_code']) test_data = df_test.drop(columns=['timestamp']).values x_test = np.zeros(shape=(len(test_data) - 49, 49, 267)) for i in range(49, len(test_data)): x_test[i-49] = np.concatenate([test_data[i-49:i], np.zeros(shape=(49 - 1, 267))]) y_pred = model.predict(x_test).flatten().tolist() return y_pred # 预测并保存 result = pd.DataFrame({'item_code': df['item_code'].unique()}) result['201901'] = result['item_code'].apply(lambda x: predict(model, x)[0]) result['201902'] = result['item_code'].apply(lambda x: predict(model, x)[1]) result['201903'] = result['item_code'].apply(lambda x: predict(model, x)[2]) result.to_excel('result.xlsx', index=False) ``` 请注意,这只是一个简单的参考代码,具体实现可能需要根据数据情况进行修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值