【问题标题】:Calculated columns in pandas dataframe熊猫数据框中的计算列
【发布时间】:2019-09-24 13:51:55
【问题描述】:

我有以下数据框

数据框代码:

df = pd.DataFrame({'Car Type': ['Compact']*9 + ['Economy'],
                  'Supplier':['Alamo','Enterprise','Budget','Nation', 'Avis','Payless','Payless','Payless','E-ZRent-a-Car','E-ZRent-a-Car'],
                  'Total Price':[74]*3+[78,79,84,35,37,43,43],
                  'Location':['Altanta']*10,
                  'Pick-up Date':['Jun/12/2019']*6+['Jun/13/2019']*4,
                  'Date Accessed':['06-11-2019']*10})

我需要创建一个数据框,其中包含“供应商”、“汽车类型”、“取货日期”、“访问日期”的独特组合列表以及竞争报价的数量和最佳竞争对手价格可在“取货日期”前 1-14 天获得。

任何帮助将不胜感激。

【问题讨论】:

标签: pandas date aggregate


【解决方案1】:

要获得您描述的列的唯一组合:

df.drop_duplicates(subset=["Supplier", "Car Type", "Pick-up Date", "Date Accessed"])

【讨论】:

  • 谢谢,这个我有。这是我需要帮助的第二部分(计算列)。
  • 参见@Quang Hoang 的评论:图片。还提供您期望的解决方案外观的示例输出。
【解决方案2】:

IIUC,

您需要先过滤数据框,然后按总价排序并删除重复项。

df[(df['Pick-up Date'] - df['Date Accessed']) < pd.Timedelta(days=14)]\
 .sort_values('Total Price', ascending=False).drop_duplicates(['Car Type', 'Supplier', 
                                                               'Pick-up Date', 'Date Accessed'])

输出:

  Car Type       Supplier  Total Price Location Pick-up Date Date Accessed
5  Compact        Payless           84  Altanta   2019-06-12    2019-06-11
4  Compact           Avis           79  Altanta   2019-06-12    2019-06-11
3  Compact         Nation           78  Altanta   2019-06-12    2019-06-11
0  Compact          Alamo           74  Altanta   2019-06-12    2019-06-11
1  Compact     Enterprise           74  Altanta   2019-06-12    2019-06-11
2  Compact         Budget           74  Altanta   2019-06-12    2019-06-11
8  Compact  E-ZRent-a-Car           43  Altanta   2019-06-13    2019-06-11
9  Economy  E-ZRent-a-Car           43  Altanta   2019-06-13    2019-06-11
7  Compact        Payless           37  Altanta   2019-06-13    2019-06-11

【讨论】:

    猜你喜欢
    • 2015-01-28
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多