我试图循环我的索引值,当索引相同时执行操作A,当索引不同时执行操作B
我的索引是一个散列码,它在数据帧中重复,如下例所示
我能理解为什么我会出错,但我看不出如何比较它们。我不想使用groupby(),因为它会导致代码出现进一步的问题(请参见问题Python: Issue with groupby() and apply() when applying defined haversine function)
我在建议isin()的地方发现了其他问题,但这里似乎不适用。我能做什么
# Unique index values
index_unique = df.index.unique().array
# All index values (including duplicates)
index_all = df.index.array
index_unique
>>
<PandasArray>
['356a192b7913b04c54574d18c28d46e6395428ab',
'da4b9237bacccdf19c0760cab7aec4a8359010b0',
'77de68daecd823babbb58edb1c8e14d7106e83bb']
Length: 3, dtype: object
index_all
>>
<PandasArray>
['356a192b7913b04c54574d18c28d46e6395428ab',
'356a192b7913b04c54574d18c28d46e6395428ab',
'356a192b7913b04c54574d18c28d46e6395428ab',
'da4b9237bacccdf19c0760cab7aec4a8359010b0',
'da4b9237bacccdf19c0760cab7aec4a8359010b0',
'77de68daecd823babbb58edb1c8e14d7106e83bb',
'77de68daecd823babbb58edb1c8e14d7106e83bb',
'77de68daecd823babbb58edb1c8e14d7106e83bb',
'77de68daecd823babbb58edb1c8e14d7106e83bb']
Length: 9, dtype: object
尝试时:
while index_all == index_unique:
print("same index")
我得到一个错误:
(“长度必须匹配才能比较”,(9,),(3,)
尝试for循环时出现相同错误:
for i in index_all:
if index_all == index_unique:
print("same index")
else:
print("not the same index")
在尝试时:
while index_all.isin(index_unique):
print("same index")
我得到一个错误:
'PandasArray'对象没有属性'isin'
也把它作为一个答案
如果不访问两个不同长度的数组的元素,则无法直接比较这两个数组。尝试使用嵌套的for循环:
请尝试以下方法:
相关问题 更多 >
编程相关推荐