【问题标题】:Need to create list using list value which are present in dataframe column需要使用数据框列中存在的列表值创建列表
【发布时间】:2020-07-26 18:49:51
【问题描述】:

这是我的数据框:

prod_sheet:
    Product ID
0   Prod1   00P000000000101
1   Prod2   00P000000000105
2   Prod3   00P000000000109
3   Prod4   00P000000000119
4   Prod5   00P000000000120

L=[Prod2,Prod4,Prod5]

列表中产品的 ID

needed_list=[00P000000000105,00P000000000119,00P000000000120]

【问题讨论】:

    标签: python pandas list dataframe


    【解决方案1】:

    如果顺序对列表理解很重要,则使用:

    L=['Prod5','Prod4','Prod3']
    s = prod_sheet.set_index('Product')['ID']
    
    needed_list = [s[p] for p in L]
    print (needed_list)
    ['00P000000000120', '00P000000000119', '00P000000000109']
    

    如果顺序不重要,请使用:

    needed_list = prod_sheet.loc[prod_sheet['Product'].isin(L), 'ID'].tolist()
    print (needed_list)
    '00P000000000109', '00P000000000119', '00P000000000120']
    

    【讨论】:

    • @RevatiCharhate - 但这不是循环解决方案,请在此处删除循环
    • @RevatiCharhate - 超级棒!如果我的回答有帮助,请不要忘记accept。谢谢。
    • @RevatiCharhate - 顺便说一句,订单重要吗?例如L=[Prod5,Prod4,Prod2] ?
    • 然后needed_list=[00P000000000120,00P000000000119,00P000000000105] ?
    猜你喜欢
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 2021-12-17
    • 2020-09-19
    相关资源
    最近更新 更多