Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据表中的条件删除列中的值_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 根据表中的条件删除列中的值

Python 根据表中的条件删除列中的值,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个如下所示的数据帧。如果列(HW类别)中的值为“19.超出保修期,过期”,则我希望清空列(IO Stat)中的值。我们如何才能达到这个结果 实际数据帧: ,IO Stat,HW Category 0,Disabled,"19. Out of Warranty, Expired" 1,Disabled,In Use 2,Disabled,In Use 3,Disabled,Onsite 4,Disabled, 5,Disabled, 6,Disabled, 7,Disab

我有一个如下所示的数据帧。如果列(HW类别)中的值为“19.超出保修期,过期”,则我希望清空列(IO Stat)中的值。我们如何才能达到这个结果

实际数据帧:

,IO Stat,HW Category
0,Disabled,"19. Out of Warranty, Expired"
1,Disabled,In Use
2,Disabled,In Use
3,Disabled,Onsite
4,Disabled,
5,Disabled,
6,Disabled,
7,Disabled,"19. Out of Warranty, Expired"
8,Disabled,
9,Disabled,
10,Disabled,In Use
11,Disabled,In Use
12,Disabled,Onsite
13,Disabled,
14,Disabled,
15,Disabled,
16,Disabled,"19. Out of Warranty, Expired"
17,Disabled,
18,Disabled,"19. Out of Warranty, Expired"
,IO Stat,HW Category
0,,"19. Out of Warranty, Expired"
1,Disabled,In Use
2,Disabled,In Use
3,Disabled,Onsite
4,Disabled,
5,Disabled,
6,Disabled,
7,,"19. Out of Warranty, Expired"
8,Disabled,
9,Disabled,
10,Disabled,In Use
11,Disabled,In Use
12,Disabled,Onsite
13,Disabled,
14,Disabled,
15,Disabled,
16,,"19. Out of Warranty, Expired"
17,Disabled,
18,,"19. Out of Warranty, Expired"
预期结果:

,IO Stat,HW Category
0,Disabled,"19. Out of Warranty, Expired"
1,Disabled,In Use
2,Disabled,In Use
3,Disabled,Onsite
4,Disabled,
5,Disabled,
6,Disabled,
7,Disabled,"19. Out of Warranty, Expired"
8,Disabled,
9,Disabled,
10,Disabled,In Use
11,Disabled,In Use
12,Disabled,Onsite
13,Disabled,
14,Disabled,
15,Disabled,
16,Disabled,"19. Out of Warranty, Expired"
17,Disabled,
18,Disabled,"19. Out of Warranty, Expired"
,IO Stat,HW Category
0,,"19. Out of Warranty, Expired"
1,Disabled,In Use
2,Disabled,In Use
3,Disabled,Onsite
4,Disabled,
5,Disabled,
6,Disabled,
7,,"19. Out of Warranty, Expired"
8,Disabled,
9,Disabled,
10,Disabled,In Use
11,Disabled,In Use
12,Disabled,Onsite
13,Disabled,
14,Disabled,
15,Disabled,
16,,"19. Out of Warranty, Expired"
17,Disabled,
18,,"19. Out of Warranty, Expired"
可以将第一个参数用作过滤条件的布尔掩码,将第二个参数用作要修改的列的列标签:

df.loc[df['HW Category'] == '19. Out of Warranty, Expired', 'IO Stat'] = ''
结果:

print(df)



     IO Stat                   HW Category
0             19. Out of Warranty, Expired
1   Disabled                        In Use
2   Disabled                        In Use
3   Disabled                        Onsite
4   Disabled                           NaN
5   Disabled                           NaN
6   Disabled                           NaN
7             19. Out of Warranty, Expired
8   Disabled                           NaN
9   Disabled                           NaN
10  Disabled                        In Use
11  Disabled                        In Use
12  Disabled                        Onsite
13  Disabled                           NaN
14  Disabled                           NaN
15  Disabled                           NaN
16            19. Out of Warranty, Expired
17  Disabled                           NaN
18            19. Out of Warranty, Expired