Python 基于条件从数据帧中删除值

Python 基于条件从数据帧中删除值,python,pandas,dataframe,Python,Pandas,Dataframe,有必要强调的是,这与删除行无关 在一个简单的例子中,我有一个来自传感器的文件: import pandas as pd df = pd.DataFrame({'Date': ['15/03/2019 10:00:11.000', '15/03/2019 10:00:12.000' , '15/03/2019 10:00:13.000'], 'Pressure' : [-0.162, -0.162, 1.456], 'Conductivity': [-0.001, -0.001, 7.45],

有必要强调的是,这与删除行无关

在一个简单的例子中,我有一个来自传感器的文件:

import pandas as pd

df = pd.DataFrame({'Date': ['15/03/2019 10:00:11.000', '15/03/2019 10:00:12.000' , '15/03/2019 10:00:13.000'],
'Pressure' : [-0.162, -0.162, 1.456],
'Conductivity': [-0.001, -0.001, 7.45],
'Water_Temperature': [7.555, 7.555, 8.22],
'Water_Salinity': [0.004, 0.004, 7.63]})
我需要删除行中的值,其中'Pressure'用于设置所有列,而不首先按条件选择:

df.iloc[:, 1:] = df.iloc[:, 1:].mask(df['Pressure'] < 1) 
print (df)
                      Date  Pressure  Conductivity  Water_Temperature  \
0  15/03/2019 10:00:11.000       NaN           NaN                NaN   
1  15/03/2019 10:00:12.000       NaN           NaN                NaN   
2  15/03/2019 10:00:13.000     1.456          7.45               8.22   

   Water_Salinity  
0             NaN  
1             NaN  
2            7.63  
df.iloc[:,1:]=df.iloc[:,1:].mask(df['Pressure']<1)
打印(df)
日期压力电导率水温\
2019年3月15日10:00:11.000楠
2019年3月15日10:00:12.000楠
2  15/03/2019 10:00:13.000     1.456          7.45               8.22   
水和盐度
0南
1楠
2            7.63  
如果确实需要空空间-获取带字符串的混合数值,则所有数值操作均失败:

df.iloc[:, 1:] = df.iloc[:, 1:].mask(df['Pressure'] < 1, '') 
print (df)
                      Date Pressure Conductivity Water_Temperature  \
0  15/03/2019 10:00:11.000                                           
1  15/03/2019 10:00:12.000                                           
2  15/03/2019 10:00:13.000    1.456         7.45              8.22   

  Water_Salinity  
0                 
1                 
2           7.63  
df.iloc[:,1:]=df.iloc[:,1:].mask(df['Pressure']<1',)
打印(df)
日期压力电导率水温\
0  15/03/2019 10:00:11.000                                           
1  15/03/2019 10:00:12.000                                           
2  15/03/2019 10:00:13.000    1.456         7.45              8.22   
水和盐度
0
1.
2           7.63  
df.iloc[:, 1:] = df.iloc[:, 1:].mask(df['Pressure'] < 1) 
print (df)
                      Date  Pressure  Conductivity  Water_Temperature  \
0  15/03/2019 10:00:11.000       NaN           NaN                NaN   
1  15/03/2019 10:00:12.000       NaN           NaN                NaN   
2  15/03/2019 10:00:13.000     1.456          7.45               8.22   

   Water_Salinity  
0             NaN  
1             NaN  
2            7.63  
df.iloc[:, 1:] = df.iloc[:, 1:].mask(df['Pressure'] < 1, '') 
print (df)
                      Date Pressure Conductivity Water_Temperature  \
0  15/03/2019 10:00:11.000                                           
1  15/03/2019 10:00:12.000                                           
2  15/03/2019 10:00:13.000    1.456         7.45              8.22   

  Water_Salinity  
0                 
1                 
2           7.63