遍历列表

时间:2018-08-29 08:31:24

标签: python list loops tuples iteration

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的行。

1 个答案:

答案 0 :(得分:0)

您需要分解行并将每个值转换为整数。目前,您正在寻找字符串“ 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)