PythonPandas:基于布尔Pandas序列过滤数据帧

2024-09-30 10:27:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这个主题有很好的文档记录,但我没有找到一个足够好的解决方案。我有一个布尔熊猫系列,我的布尔系列。我有一个数据帧。我想根据myboolseries(值为True的索引)过滤df。你知道吗

myboolseries = pd.Series(data = [True, False, True], index = [2,5,8])
mydic = {"Age" : [14,12,55,22,98], "Name" : ["Pierre", "Mike", "Selena", "Victor", "Jesus"], "index" : [2,14,5,99,8]}
df = pd.DataFrame.from_dict(mydic).set_index("index")

这是我的解决方案(它确实有效),但我正在寻找一种更优雅的方式:

myboolseries = myboolseries[myboolseries].index
df[myboolseries]

Tags: 数据文档falsetruedf主题agedata
3条回答

尝试:

df.loc[df.index.isin(myboolseries.index)][myboolseries]

       Age    Name
index             
2       14  Pierre
8       98   Jesus

如果布尔序列与数据帧长度相同,则可以:

df = df[boolseries]

就这样。你知道吗

你可以试试这个:

df.reindex(myboolseries.loc[lambda x: x].index)

输出:

   Age    Name
2   14  Pierre
8   98   Jesus

相关问题 更多 >

    热门问题