Python 需要使用dataframe列中的列表值创建列表
这是我的数据帧:Python 需要使用dataframe列中的列表值创建列表,python,pandas,list,dataframe,loc,Python,Pandas,List,Dataframe,Loc,这是我的数据帧: 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,00P000000
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]
如果顺序很重要,请使用列表理解:
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']
如果顺序很重要,请使用列表理解:
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-但它不是循环解决方案,请删除循环here@RevatiCharhate-太好了!如果我的回答有帮助,别忘了。谢谢。@RevatiCharhate-顺便说一句,订单重要吗?e、 g.
L=[Prod5,Prod4,Prod2]
?然后所需列表=[00p00000000120,00p00000000119,00p00000000105]
?@RevatiCharhate-但这不是循环解决方案,请删除循环here@RevatiCharhate-太好了!如果我的回答有帮助,别忘了。谢谢。@RevatiCharhate-顺便说一句,订单重要吗?e、 g.L=[Prod5,Prod4,Prod2]
?然后所需列表=[00p00000000120,00p00000000119,00p00000000105]
?