首页 > 解决方案 > Pandas:通过相邻列值选择多个列值

问题描述

当我拥有“客户端名称”时,我使用以下代码片段在数据框中获取相邻的“策略名称”列:

 policy = df.loc[df['Client Name'] == machine.lower(), 'Policy Name']

如果“客户名称”有多行并且它们具有不同的策略,我如何才能全部获取它们?就目前而言,当前代码让我获得了数据框中的最后一个条目。

标签: pythonpandasdataframe

解决方案


就目前而言,当前代码让我获得了数据框中的最后一个条目。

这不是真的。请参阅下面的最小反例。

df = pd.DataFrame({'Client Name': ['philip', 'ursula', 'frank', 'ursula'],
                   'Policy Name': ['policy1', 'policy2', 'policy3', 'policy4']})

machine = 'Ursula'

policy = df.loc[df['Client Name'] == machine.lower(), 'Policy Name']

print(policy)

1    policy2
3    policy4
Name: Policy Name, dtype: object

推荐阅读