如何在python中验证变量是否为空
我正在处理.csv格式的数据,希望将所有空单元格设置为空字符串的值 我面临的问题是,这些文件已经在不同的环境中为几个人处理过,因此这些单元格上有各种不同的垃圾值,例如:如何在python中验证变量是否为空,python,string,Python,String,我正在处理.csv格式的数据,希望将所有空单元格设置为空字符串的值 我面临的问题是,这些文件已经在不同的环境中为几个人处理过,因此这些单元格上有各种不同的垃圾值,例如: ' ' 'NaN' 'nan' '\n' ' ' 等等 我正在寻找一种标准方法来识别所有这些类型的“垃圾值”。您可以使用该函数来消除空白值,如'和'\n',但不会处理'NaN'或'NaN'等值。实际上没有一种标准的方法来处理这些问题,因此除了使用isspace之外,我还将创建一个黑名单,例如: blacklist=['Na
' '
'NaN'
'nan'
'\n'
' '
等等
我正在寻找一种标准方法来识别所有这些类型的“垃圾值”。您可以使用该函数来消除空白值,如'
和'\n'
,但不会处理'NaN'
或'NaN'
等值。实际上没有一种标准的方法来处理这些问题,因此除了使用isspace
之外,我还将创建一个黑名单,例如:
blacklist=['NaN','NaN']#根据需要添加更多内容
然后使用isspace()
加上您的黑名单
来过滤掉不需要的值。您可以使用该函数来消除像'
和'\n'
这样的空白值,但不会处理像'NaN'
或'NaN'
这样的值。实际上没有一种标准的方法来处理这些问题,因此除了使用isspace
之外,我还将创建一个黑名单,例如:
blacklist=['NaN','NaN']#根据需要添加更多内容
然后使用
isspace()
加上您的黑名单来过滤掉不需要的值。您可以将csv读入Pandas数据框,然后使用DataFrame.fillna()
您可以将csv读入Pandas数据框,然后使用DataFrame.fillna()使用.strip()删除空白,然后检查该值是否为要忽略的值:
if value.strip() in ['', 'NaN', 'nan']:
# ignore this value
或者,使其不区分大小写:
if value.strip().lower() in ['', 'nan']:
# ignore this value
使用.strip()删除空白,然后检查该值是否为要忽略的值:
if value.strip() in ['', 'NaN', 'nan']:
# ignore this value
或者,使其不区分大小写:
if value.strip().lower() in ['', 'nan']:
# ignore this value
我认为这是解决你问题的一个好办法
以下是一些示例代码:
import pandas as pd
# sample data
dic = {'a':['NAN', "", "NaN"], 'b':["", "nan", '\n'], 'c':[1,'2','3']}
df = pd.DataFrame(dic)
replace_list = ['NaN', '', 'nan', '\n']
df_clean = df.replace(replace_list, '')
df_clean
您可以将csv数据导入Pandas并执行相同的操作
希望能有帮助 我认为这是解决你问题的一个好办法
以下是一些示例代码:
import pandas as pd
# sample data
dic = {'a':['NAN', "", "NaN"], 'b':["", "nan", '\n'], 'c':[1,'2','3']}
df = pd.DataFrame(dic)
replace_list = ['NaN', '', 'nan', '\n']
df_clean = df.replace(replace_list, '')
df_clean
您可以将csv数据导入Pandas并执行相同的操作
希望能有帮助 如果您的StringVar.strip():
?它不适用于“NaN”如果您的StringVar.strip():
?它不适用于“NaN”