我想将所有行都保留在列中,该列具有单个单词,其余行包含要删除的多个空格。
我的数据框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
答案 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)
的内容。