簡體   English   中英

迭代列表

[英]Iterate over list

Q6
4;99
3;4;8;9;14;18
2;3;8;12;18
2;3;11;18
2;3;8;18
2;3;4;5;6;7;8;9;11;12;15;16;17;18
2;3;4;8;9;10;11;13;18
1;3;4;5;6;7;13;16;17
2;3;4;5;6;7;8;9;11;12;14;15;18
3;11;18
2;3;5;8;9;11;12;13;15;16;17;18
2;5;11;18
1;2;3;4;5;8;9;11;17;18
3;7;8;11;13;14
2;3;8;18
2;13
2;3;5;8;9;11;12;13;18
2;3;4;9;11;12;18
2;3;5;9;11;18
1;2;3;4;5;6;7;8;9;11;14;15;16;17;18
2;3;8;11;13;18

import pandas as pd 
df_1 = pd.read_csv('amazon_final 29082018.csv') 
list_6 = list(df_1["Q6"]) 
list_6 = list(map(str, list_6)) 
list_7 = list(zip(list_6)) 
tem_list = [] 
for x in list_6: 
    if ('3' in x[0]): 
        tem_list.append('Fire') 
    else: 
        tem_list.append(None) 
df_1.to_csv('final.csv', index=False)

我在數據中有很多這樣的列。 我想從中提取值 '3',我寫的代碼給了我 3 個值以及 13,23,33 等等。 我只想要值為 3 的行數。

您需要拆分行並將每個值轉換為整數。 目前您正在尋找字符串“3”的存在,這就是像“2;13”這樣的字符串通過測試的原因。 嘗試這樣的事情:

list_6 = ["4;99", "3;4;8;9;14;18", "2;3;8;12;18", "2;3;11;18", "2;3;8;18", 
    "2;3;4;5;6;7;8;9;11;12;15;16;17;18", "2;3;4;8;9;10;11;13;18", 
    "1;3;4;5;6;7;13;16;17", "2;3;4;5;6;7;8;9;11;12;14;15;18", "3;11;18", 
    "2;3;5;8;9;11;12;13;15;16;17;18", "2;5;11;18", "1;2;3;4;5;8;9;11;17;18", 
    "3;7;8;11;13;14", "2;3;8;18", "2;13", "2;3;5;8;9;11;12;13;18", 
    "2;3;4;9;11;12;18", "2;3;5;9;11;18", 
    "1;2;3;4;5;6;7;8;9;11;14;15;16;17;18", "2;3;8;11;13;18"]
temp_list = [] 
for x in list_6: 
    numbers = [int(num_string) for num_string in x.split(';')]
    if (3 in numbers): 
        temp_list.append('Fire') 
    else: 
        temp_list.append('None') 
print(temp_list)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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