Pandas - 如何在返回行时排除空白单元格
Pandas - How to exclude blank cells when returning a row
我刚开始使用 python 和 pandas,想搜索一个数据框和 return 基于药物名称的一行,return 搜索所有非空白的列单元格。
我有这个:
import pandas as pd
safety = pd.read_excel("safety.xlsx")
searchterm = input("Enter drug name...")
print (safety.loc[safety['Drug_name'] == searchterm])
这将 return 药物和所有列,甚至是空白列。
例如,每一行是一种药物,每一列是一个标准,每种药物可能有一些标准的信息,但不是全部。
如何打印药物行,不包括空白列单元格?
您可以在行上链接过滤器:
print(safety.loc[safety['Drug_name'] == searchterm][lambda x: x != ''])
或者如果您只需要删除 NA,请使用 dropna
:
print(safety.loc[safety['Drug_name'] == searchterm].dropna())
使用链式过滤器,您还可以删除空字符串和 NA:
print(safety.loc[safety['Drug_name'] == searchterm][lambda x: (x != '') & x.notnull()])
我刚开始使用 python 和 pandas,想搜索一个数据框和 return 基于药物名称的一行,return 搜索所有非空白的列单元格。
我有这个:
import pandas as pd
safety = pd.read_excel("safety.xlsx")
searchterm = input("Enter drug name...")
print (safety.loc[safety['Drug_name'] == searchterm])
这将 return 药物和所有列,甚至是空白列。
例如,每一行是一种药物,每一列是一个标准,每种药物可能有一些标准的信息,但不是全部。
如何打印药物行,不包括空白列单元格?
您可以在行上链接过滤器:
print(safety.loc[safety['Drug_name'] == searchterm][lambda x: x != ''])
或者如果您只需要删除 NA,请使用 dropna
:
print(safety.loc[safety['Drug_name'] == searchterm].dropna())
使用链式过滤器,您还可以删除空字符串和 NA:
print(safety.loc[safety['Drug_name'] == searchterm][lambda x: (x != '') & x.notnull()])