在数据帧中返回未知字符串(从中提取未知字符串

时间:2016-05-09 17:04:14

标签: python python-3.x pandas

我有一个大型数据集,我使用read_csv导入,如下所述,它应该是浮点测量和NaN。

df = pd.read_csv(file_,parse_dates=[['Date','Time']],na_values = ['No Data','Bad Data','','No Sample'],low_memory=False)    

当我应用df.dtypes时,大多数列都返回为对象类型,表明数据框中还有其他对象我不知道。我正在寻找一种识别这些字符串的方法然后替换na values

我想要做的第一件事就是将所有内容转换为dtype = np.float,但我不能。然后,我尝试读取每个(列,索引)并返回标识的字符串。

我尝试过一些非常低效的东西(我是初学者)并且耗费时间,它已经适用于其他数据帧,但在这里它会返回错误:

TypeError: argument of type 'float' is not iterable

from isstring import *
list_string = []
for i in range(0,len(df)):
for j in range(0,len(df.columns)):
    x = test.ix[i,j]
    if isstring(x) and '.'not in x:
        list_string.append(x)

list_string = pd.DataFrame(list_string, columns=["list_string"])
g = list_string.groupby('list_string').size()

是否有一种在大型数据集中检测未知字符串的简单方法。感谢

1 个答案:

答案 0 :(得分:0)

你可以尝试:

string_list = []
for col, series in df.items(): # iterating over all columns - perhaps only select `object` types
    string_list += [s for s in series.unique() if isinstance(s, str)]