Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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 将Dataframe中的某些列替换为null_Python_Python 3.x_Pandas - Fatal编程技术网

Python 将Dataframe中的某些列替换为null

Python 将Dataframe中的某些列替换为null,python,python-3.x,pandas,Python,Python 3.x,Pandas,我想删除基于高空值的特定列。在少数列中,有一个值(在本例中为“Select”)等效于null。我想用null替换它,以便计算null%并相应地删除列 Lead Profile City Select Select Select Select Potential Lead Mumbai Select Mumbai Select Mumbai 尝试使用替换功能以及映射功能 leads['Specialization']

我想删除基于高空值的特定列。在少数列中,有一个值(在本例中为“Select”)等效于null。我想用null替换它,以便计算null%并相应地删除列

Lead Profile    City
Select          Select
Select          Select
Potential Lead  Mumbai
Select          Mumbai
Select          Mumbai
尝试使用替换功能以及映射功能

leads['Specialization'] = leads['Specialization'].replace('Select', "NaN")
这段代码只是将字符串替换为字符串,实际上并没有输入空值

def colmap(x):
     return x.map({"Select": "Nan"})

df[['Lead Profile']] = df[['Lead Profile']].apply(colmap)

此代码将所有值替换为NAN

以将
替换为空值:

df['col'] = df['col'].replace('value', np.nan)
否则,要直接返回小于
N
乘以
Select
值的列,可以使用以下方法:

df2 = df[[col for col in df.columns if len(df[df[col] == 'Select']) < N]]
df2=df[[col for col for col in df.columns if len(df[df[col]=='Select'])
要将
替换为空值:

df['col'] = df['col'].replace('value', np.nan)
否则,要直接返回小于
N
乘以
Select
值的列,可以使用以下方法:

df2 = df[[col for col in df.columns if len(df[df[col] == 'Select']) < N]]
df2=df[[col for col for col in df.columns if len(df[df[col]=='Select'])
除了Olivier的答案外,如果您使用
read\u csv
read\u excel
导入数据,这些方法具有
na\u值
参数:

df = pd.read_csv('file.csv', na_values=['Select'])

除了Olivier的回答,如果您使用
read_csv
read_excel
导入数据,这些方法具有
na_值
参数:

df = pd.read_csv('file.csv', na_values=['Select'])

尝试导入
numpy
df.replace('Select',np.nan)
我使用pandas需要numpy,因此您可以安全地添加一个
import numpy as np
语句。感谢各位的见解。在以后的所有空值情况下,请记住这些。干杯!尝试导入
numpy
df.replace('Select',np.nan)
我使用pandas需要numpy,因此您可以安全地添加一个
import numpy as np
语句。感谢各位的见解。在接下来的所有空值情况下,请记住这些。干杯!