Ser*_*dia 2 python dataframe pandas
如何将SQL语句转换为Pandas:
select PolicyNumber,
Coverage
from ClaimsData
where AccidentState = 'AZ' and Coverage = 'Liability'
Run Code Online (Sandbox Code Playgroud)
我知道如何为单个条件选择列(AccidentState ='AZ'),但是如何添加另一个条件?
ClaimsData[["PolicyNumber","Coverage","AccidentState"]] [ClaimsData["AccidentState"]=="AZ"] # and here I need to add another condition
Run Code Online (Sandbox Code Playgroud)
您可以&按条件按条件链接条件,AND并按DataFrame.loc条件(boolean indexing)按行过滤,按列名称按列过滤list:
mask = (ClaimsData["AccidentState"]=="AZ") & (ClaimsData["Coverage"]=="Liability")
df = ClaimsData.loc[mask, ["PolicyNumber","Coverage"]]
Run Code Online (Sandbox Code Playgroud)
就像@Sandeep Kadapa在评论中指出的那样,还有其他选择DataFrame.query:
q = "AccidentState == 'AZ' & Coverage == 'Liability'"
df = ClaimsData.query(q)[["PolicyNumber","Coverage"]]
Run Code Online (Sandbox Code Playgroud)