簡體   English   中英

索引列表的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM