Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除空白列中的行_Python_Pandas_Text Mining_Data Cleaning - Fatal编程技术网

Python 删除空白列中的行

Python 删除空白列中的行,python,pandas,text-mining,data-cleaning,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是:

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

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

df_-drug=df_-drug[df_-drug['drug']应用(lambda x:True,如果len(x.split())==1,则为False)]

如果药物列上有NAN,可能需要向lambda函数添加类似于
str(x)
的内容。

df[~df['druge'].str.contains('')
。根据您的定义,您甚至希望删除只有一个空格的行。或者
df[~df['druge'].str.count(''').gt(1)]
如果它确实大于一个空格是,我想删除包含多个单词的行。因此,对于包含实际“药物”名称的行,不会有任何空格。其他带有垃圾词的行应该从列中的其余行中删除。Hi@Eva,我收到一个错误KeyError:“drug”我可能做错了什么?Hi,请确保数据框中确实有一个名为“drug”的列。如果您在问题中添加代码来创建一些测试输入数据,我可以帮助您进行调试。