gpt4 book ai didi

python - 如何找到变量列表的索引位置?

转载 作者:行者123 更新时间:2023-12-01 09:17:20 25 4
gpt4 key购买 nike

我是Python新手。我有一个数据帧 df_A,我想找出 df_A 中的 Col1 与 list_B 中的任何变量匹配的位置,然后删除这些行。即删除以下示例中的第 0、2 和 4 行。有哪些可能的方法来实现这一目标?非常感谢。

df_A = pd.DataFrame({'Col1': ['AA', 'BB', 'CC', 'DD', 'AA'], 'Col2': [1, 2, 3, 4, 5]})
list_B = ('AA','CC')

最佳答案

使用isin用于 bool 掩码和过滤器 boolean indexingdf_A.index:

idx = df_A.index[df_A['Col1'].isin(list_B)]
print (idx)
Int64Index([0, 2, 4], dtype='int64')

如果需要列表:

idx = df_A.index[df_A['Col1'].isin(list_B)].tolist()
print (idx)
[0, 2, 4]

详细信息:

print (df_A['Col1'].isin(list_B))
0 True
1 False
2 True
3 False
4 True
Name: Col1, dtype: bool

按列表过滤所有行:

df1 = df_A[df_A['Col1'].isin(list_B)]
print (df1)
Col1 Col2
0 AA 1
2 CC 3
4 AA 5

并通过 ~ 列表反转 bool 掩码过滤掉值:

df2 = df_A[~df_A['Col1'].isin(list_B)]
print (df2)
Col1 Col2
1 BB 2
3 DD 4

详细信息:

print (~df_A['Col1'].isin(list_B))
0 False
1 True
2 False
3 True
4 False
Name: Col1, dtype: bool

关于python - 如何找到变量列表的索引位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51121097/

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