Python 检查数据集中的奇怪项

Python 检查数据集中的奇怪项,python,data-science,data-cleaning,Python,Data Science,Data Cleaning,我想在Python中用更少的行检查数据帧中奇怪的分类项 我尝试使用以下代码来显示奇怪的项目 for i in range(data.shape[1]): if data[data.columns[i]].dtype == "object": print(data[data.columns[i]].value_counts()) 是否有任何方法可以使用更少的行来检查分类数据?如果您想打印列的所有唯一条目,我建议使用唯一的方法 要将booooy条目更改为m,可以使用re.sub()方

我想在Python中用更少的行检查数据帧中奇怪的分类项

我尝试使用以下代码来显示奇怪的项目

for i in range(data.shape[1]):
  if data[data.columns[i]].dtype == "object":
    print(data[data.columns[i]].value_counts()) 

是否有任何方法可以使用更少的行来检查分类数据?

如果您想打印列的所有唯一条目,我建议使用
唯一的方法

要将
booooy
条目更改为
m
,可以使用
re.sub
()方法

如果您有许多
re.sub
调用,那么您可以将它们放入函数中,而不是应用它们

>>> def filter_text(x):
...    x = re.sub(r'booooy','m',x)
...    x = re.sub(r'girl','f',x)
...    # . . . . . .
...    return x
>>> a.loc[:,'sex'].apply(filter_text)
Out[3]: 
0    m
1    f
2    m
3    m
4    m
5    f
6    m
Name: sex, dtype: object

希望有帮助

如果要打印列的所有唯一条目,我建议使用
unique
()方法

要将
booooy
条目更改为
m
,可以使用
re.sub
()方法

如果您有许多
re.sub
调用,那么您可以将它们放入函数中,而不是应用它们

>>> def filter_text(x):
...    x = re.sub(r'booooy','m',x)
...    x = re.sub(r'girl','f',x)
...    # . . . . . .
...    return x
>>> a.loc[:,'sex'].apply(filter_text)
Out[3]: 
0    m
1    f
2    m
3    m
4    m
5    f
6    m
Name: sex, dtype: object

希望有帮助

你能解释一下“奇怪”是什么意思吗?您是否试图从数据中删除异常值?否。例如,在“性别”列中,可能只有“M”和“F”,但也可能有“男孩”或“女孩”。我想把它们全部展示出来,然后清洗干净。在R中,我将使用str(df)来显示这些因子对象。但我不知道怎么用pythonca你能解释一下“奇怪”是什么意思吗?您是否试图从数据中删除异常值?否。例如,在“性别”列中,可能只有“M”和“F”,但也可能有“男孩”或“女孩”。我想把它们全部展示出来,然后清洗干净。在R中,我将使用str(df)来显示这些因子对象。但我不知道如何在Python中实现它
>>> def filter_text(x):
...    x = re.sub(r'booooy','m',x)
...    x = re.sub(r'girl','f',x)
...    # . . . . . .
...    return x
>>> a.loc[:,'sex'].apply(filter_text)
Out[3]: 
0    m
1    f
2    m
3    m
4    m
5    f
6    m
Name: sex, dtype: object