鱼C论坛

 找回密码
 立即注册
查看: 72|回复: 3

[已解决]Dateframe

[复制链接]
发表于 2024-5-22 11:15:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
以下代码,如何设置可以将运行结果,由

            项目                                                                投资额
0        [0, 1000, 2000, 3000, 4000, 5000, 6000, 7000, ...        [0.0, 800000.0, 1500000.0, 2100000.0, 2600000....

变成

        项目         投资额
0        0         -   
1        1000         800,000.00
2        2000         1,500,000.00
3        3000         2,100,000.00
4        4000         2,600,000.00


代码如下:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# 参数设置
initial_margin = 2000 - 1300 - 100    # 增量利润 = 单价-原变动成本-增量成本
additional_cost = 5                   # 每递增100台订单增加的成本
initial_order = 5000                  # 初始订单量

# 定义profit函数
def profit_function(order_quantity):
    return initial_margin * order_quantity - additional_cost * ((order_quantity - initial_order) / 100) * order_quantity

# 生成一系列订单量
order_quantities = np.arange(0, 20000, 1000)

# 计算对应订单量下的利润值
profits = [profit_function(order_quantity) for order_quantity in order_quantities]
order_quantities
profits
dic = {"项目":[order_quantities],
       "投资额":[profits]}
df = pd.DataFrame(dic)
df
最佳答案
2024-5-22 11:16:53
在代码中,您可以通过修改以下部分来实现目标结果:

1. 修改profits的计算方式,将其设置为profit_function(order_quantity)的返回值,即订单量对应的利润值:
profits = [profit_function(order_quantity) for order_quantity in order_quantities]

2. 构建字典dic,其中键是"项目"和"投资额",值分别是order_quantities和profits:
dic = {"项目": order_quantities,
       "投资额": profits}

3. 使用上述字典dic创建DataFrame对象df:
df = pd.DataFrame(dic)

完整的修改代码如下所示:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# 参数设置
initial_margin = 2000 - 1300 - 100    # 增量利润 = 单价-原变动成本-增量成本
additional_cost = 5                   # 每递增100台订单增加的成本
initial_order = 5000                  # 初始订单量

# 定义profit函数
def profit_function(order_quantity):
    return initial_margin * order_quantity - additional_cost * ((order_quantity - initial_order) / 100) * order_quantity

# 生成一系列订单量
order_quantities = np.arange(0, 20000, 1000)

# 计算对应订单量下的利润值
profits = [profit_function(order_quantity) for order_quantity in order_quantities]

# 构建字典
dic = {"项目": order_quantities,
       "投资额": profits}

# 创建DataFrame对象
df = pd.DataFrame(dic)

运行上述代码后,DataFrame对象df将以您所期望的格式显示。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-5-22 11:16:53 | 显示全部楼层    本楼为最佳答案   
在代码中,您可以通过修改以下部分来实现目标结果:

1. 修改profits的计算方式,将其设置为profit_function(order_quantity)的返回值,即订单量对应的利润值:
profits = [profit_function(order_quantity) for order_quantity in order_quantities]

2. 构建字典dic,其中键是"项目"和"投资额",值分别是order_quantities和profits:
dic = {"项目": order_quantities,
       "投资额": profits}

3. 使用上述字典dic创建DataFrame对象df:
df = pd.DataFrame(dic)

完整的修改代码如下所示:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# 参数设置
initial_margin = 2000 - 1300 - 100    # 增量利润 = 单价-原变动成本-增量成本
additional_cost = 5                   # 每递增100台订单增加的成本
initial_order = 5000                  # 初始订单量

# 定义profit函数
def profit_function(order_quantity):
    return initial_margin * order_quantity - additional_cost * ((order_quantity - initial_order) / 100) * order_quantity

# 生成一系列订单量
order_quantities = np.arange(0, 20000, 1000)

# 计算对应订单量下的利润值
profits = [profit_function(order_quantity) for order_quantity in order_quantities]

# 构建字典
dic = {"项目": order_quantities,
       "投资额": profits}

# 创建DataFrame对象
df = pd.DataFrame(dic)

运行上述代码后,DataFrame对象df将以您所期望的格式显示。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-22 11:52:15 | 显示全部楼层
dic = {"项目":[order_quantities],
       "投资额":[profits]}

这里的中括号去掉,改成:

dic = {"项目":order_quantities,
       "投资额":profits}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-22 13:41:04 | 显示全部楼层
isdkz 发表于 2024-5-22 11:52
dic = {"项目":[order_quantities],
       "投资额":[profits]}

收到,非常感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-16 23:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表