【问题标题】:Create multiple DataFrames with a for loop使用 for 循环创建多个 DataFrame
【发布时间】:2022-01-01 06:54:57
【问题描述】:

我有一个 DataFrame,其中包含特定车辆租赁交易的汇总价格数据。

我需要将此数据与当前价格(我们称之为 100)进行比较,并使用不同时间范围(以天为单位)的聚合进行比较。

我正在尝试创建代码,该代码将输出一个单行 DataFrame,其中一列显示当前价格与“cutoffs”数组中延迟的中值(以天为单位)的百分比差异。

我正在描绘这样的输出:

two_day four_day six_day
-0.2 -0.4 -0.6
data = pd.DataFrame([['2021-11-16','250'],['2021-11-17','225'],['2021-11-18','200'],['2021-11-19','175'],['2021-11-20','150'],['2021-11-21','125']], columns = ['export_date','price'])

curr_price = 100

cutoffs = [2,4,6]

for c in cutoffs:
    cutoff_date = data["export_date"].max() - pd.Timedelta(days=c)

很抱歉,这就是我要做的事情。在这里使用 dicts 有帮助吗?

如果我可以提供任何其他信息,请告诉我:)

【问题讨论】:

  • 你想要什么输出?
  • @KrishnaGupta “我正在尝试创建一个代码,该代码将输出一个单行 DataFrame,其中一列显示当前价格与'cutoffs' 数组。” (预期的输出表正下方)

标签: python pandas dataframe for-loop


【解决方案1】:
data = pd.DataFrame([['2021-11-16','250'],['2021-11-17','225'],['2021-11-18','200'],['2021-11-19','175'],['2021-11-20','150'],['2021-11-21','125']], columns = ['export_date','price'])

curr_price = 100

cutoffs = [2,4,6]

for c in cutoffs:
    cutoff_date = df2["export_date"].max() - pd.Timedelta(days=c)

最后使用这个转置,它会将你的 3 个输出行数据转换为列数据。

    cutoff_date .transpose()

【讨论】:

    猜你喜欢
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多