Python Pandas:根据掩码列表抛出错误过滤数据框

时间:2020-08-18 00:09:52

标签: python python-3.x pandas

我有一个包含True / False值的列表。列表的索引是ID。列表如下所示:

遮罩:

0000003555CE050     True
0000484541CE90D     True
0000486629CE4AA     True
0000012748DE8FB     True
0000047030DE4E4     True 
0000510518CEA7C    False
0000510762DE9AC    False
0000510486CEF04    False
0000202438DEE9C    False
0000510534CE437    False

我有一个数据框,其中也包含id列。我想从列表中保留那些具有True的id的值。我正在尝试使用以下命令过滤数据框:

df.loc[:,mask]

但是,我收到TypeError,如下:

    TypeError: '(slice(None, None, None), 0000003555CE050     True
0000484541CE90D     True
0000486629CE4AA     True
0000012748DE8FB     True
0000047030DE4E4     True
                   ...  
0000510518CEA7C    False
0000510762DE9AC    False
0000510486CEF04    False
0000202438DEE9C    False
0000510534CE437    False
Name: ICP, Length: 92245, dtype: bool)' is an invalid key

我不确定我在哪里犯错。谁能指出我在哪里犯错了?

1 个答案:

答案 0 :(得分:1)

让我们尝试public void WriteUsersToCSV(List<User> users) { // overwrite the file each time; indicated by the `false` parameter using (var writer = new StreamWriter("users.csv", false)) using (var csvWriter = new CsvWriter(writer, CultureInfo.InvariantCulture)) { // csvWriter.Configuration.HasHeaderRecord = false; // commented out as we write the whole file every time including the header csvWriter.WriteRecords(users); Console.WriteLine("New user added to users.csv"); } } ,您需要知道ID列是哪个级别

get_level_values