从空白列中删除行

时间:2019-07-29 17:33:12

标签: python pandas text-mining data-cleaning

我想将所有行都保留在列中,该列具有单个单词,其余行包含要删除的多个空格。

我的数据框df是:

df['drug']
gilenya
fingolimod
ocrevus
dont want in the column
remove this drug row
text mining for drug column

我想创建一个仅包含正确药物词并删除垃圾的新数据框。我已经尝试了以下解决方案,但是却给我留下了空白/空的药物栏。

df_drug = pd.DataFrame(columns = ['drug'])
df_drug = df_drug[df_drug.drug.str.count(' ')==1]
or, df_drug = df_drug[df_drug.drug.str.contains('')]

能否请您帮我获得正确的解决方案?喜欢:

df_drug.head()
drug
gilenya
fingolimod
ocrevus

1 个答案:

答案 0 :(得分:0)

您可以使用lambda函数返回仅为True的布尔序列,其中df_drug['drug']是一个单词,然后使用该序列从df_drug中进行选择。

df_drug = df_drug[df_drug['drug'].apply(lambda x: True if len(x.split()) == 1 else False)]

如果在Drug列上有nans,则可能需要在该lambda函数中添加类似str(x)的内容。