![](/img/trans.png)
[英]Using Python Pandas how to map a column of list values (of id numbers) to a new column of list values (corresponding to names from dictionary list)
[英]How to filter list values from corresponding index names located in list?
我有一個微不足道的問題,似乎如此,但我看不到最簡單的解決方案。 我有一個列表列表:
Example_list=[[['MAX_BID', '€9'], ['BID_NUMBER', 10], ['DATE', '2017-01-25 20:10:33 UTC'], ['SHIPPING_COST', '17.90']],
[['MAX_BID', '€165'], ['BID_NUMBER', 30], ['DATE', '2017-01-25 20:12:01 UTC'], ['SHIPPING_COST', '16.00']]]
現在我只想過濾第二個列表中 BID_NUMBER 的值。 顯然,以下工作:
>>> print(test[1][1][1])
30
不幸的是,這不是一個解決方案,因為實際情況中的列表大小不一,導致所需列表值的位置不同。
我也嘗試了以下方法,但似乎不是最簡單的解決方案:
for i in test[1]:
for p in i:
if "BID_NUMBER" in p:
print(p[1])
30
有沒有更優雅的解決方案?
如果每個直接子列表中的所有子列表都是鍵值對,則可以在將BID_NUMBER
作為鍵訪問之前將封閉列表轉換為字典:
for d in map(dict, test):
print(d['BID_NUMBER'])
否則,如果密鑰對的此類子列表的深度不一致,則可以在嘗試轉換try
塊中的子列表后,使用while
循環繼續查找except
塊中的內部子列表:
for l in test:
while True:
try:
d = dict(l)
break
except ValueError:
l = l[0]
print(d['BID_NUMBER'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.