gpt4 book ai didi

python - 识别满足条件的 DataFrame 索引对象

转载 作者:行者123 更新时间:2023-12-01 05:39:53 25 4
gpt4 key购买 nike

当满足特定条件(例如给定列)时,如何从 DataFrame 中获取索引对象?

以下内容返回一个具有 True/False 值的 Series 对象,其中 my_dataframefoo 列中存在某些条件> 满足:

true_entries = my_dataframe['foo'].apply(my_lambda_function) == True

但我想获得的是与这些条目相对应的 index 对象。

我该怎么做?

作为应用程序的示例,我想在数据框中删除满足该条件的行。

更新:

我尝试了@DSM的建议,从我的数据框中删除条目(行),但是以下命令:

indices_to_drop = my_df.index[my_df['foo'].apply(my_lambda_function) == True]
my_df.drop(indices_to_drop)

返回:

DeprecationWarning: height has been deprecated

最佳答案

如果您想要一个与真实值相对应的Index,您可以使用 bool Series作为df.index上的切片:

>>> df
A B
0 10 -5
1 20 -2
2 30 1
3 40 4
4 50 7
>>> df["B"].apply(lambda x: x % 2 == 0)
0 False
1 True
2 False
3 True
4 False
Name: B, dtype: bool
>>> df.index[df["B"].apply(lambda x: x % 2 == 0)]
Int64Index([1, 3], dtype=int64)

但是,如果您只想删除满足该条件的行,则根本不需要构造显式索引。您可以简单地保留不满足条件的那些:

>>> df[~df["B"].apply(lambda x: x % 2 == 0)]
A B
0 10 -5
2 30 1
4 50 7

关于python - 识别满足条件的 DataFrame 索引对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17886985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com