[英]Indexing the values of the List
我有兩個不同的列表,它們的值幾乎相同,但索引值不同。 我在list_1
中有一些值,需要在list_2
中提取這些值的索引。 然后我想在 Dataframe 中將list_1
作為['Number']
列和索引結果作為['Index']
列結合起來。
list_1 = ['1','2','3','4','5','6','7','8','9','10']
list_2 = ['12','11','10','9','8','6','5','4','3','2','1']
data = {"Number":pd.Series(list_1)}
df = pd.Dataframe(data,columns=["Number"])
list_index=[]
for i in df["Number"]:
if i in list_2:
index= pd.Index(list_2)
m = index.get_loc(i)
list_index.append(m)
df['Index']=list_index
錯誤是df["Number"]
和list_index
中的值數量不同。
但是當我嘗試將list_1
和 m 添加到 DataFrame 時,我無法將所有專用索引分配給list_1
中的數字。
首先,您在list_2
中找到元素的索引:
indices = [list_2.index(l) if l in list_2 else None for l in list_1]
當您的list_2
中不存在元素時,我設置None
但您可以輸入任何您想要的值。
然后,您形成 dataframe:
df = pd.DataFrame({'Number': list_1, 'Index': indices})
Output:
Number Index
0 1 10.0
1 2 9.0
2 3 8.0
3 4 7.0
4 5 6.0
5 6 5.0
6 7 NaN
7 8 4.0
8 9 3.0
9 10 2.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.