繁体   English   中英

Python pandas 使用筛选条件选择 dataframe 的子集

[英]Python pandas selecting subset of dataframe using filter condition

我有一个 Pandas DataFrame 如下

enter image description here我想查询列以找出每个名称包含“X”的所有列。

示例 output 类似于:(John, O, P) 这里 O 和 P 是针对 John 的具有字符“X”的列 ID。 我尝试使用 loc 在列上查询 Dataframe,但没有得到 output。请指导以获取所需的 output。

这是一个使用pandas.DataFrame.applydict返回字典的命题,其中键是人名,值是满足条件的列名(等于"X"

dico= dict(zip(df["Name"], df.eq("X").apply(lambda x: x.index[x].tolist(), axis=1)))

#Output:

print(dico)

{'John': ['O', 'P'], 'Dave': ['M', 'P']}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM