在以下情况下,如何在第二个 for 循环中访问 (i+1 ) 索引?
Posted
技术标签:
【中文标题】在以下情况下,如何在第二个 for 循环中访问 (i+1 ) 索引?【英文标题】:How to access (i+1 ) index in the second for loop in the below case? 【发布时间】:2021-05-14 01:32:07 【问题描述】:火车是一个数据框,其中有两列:
Address gender
0 abc f
1 dfg m
2 hjk m
3 ert m
当性别相同时,我需要对地址列执行一些操作,因此我正在使用此代码,而且我是 python 和 pandas 的新手,所以我不知道我是否正确有效地执行此操作。
for i in train.index:
for j in train.index[i+1]:
if train.loc[i,'gender']== train.loc[j,'gender']:
print(train['Address'])
目前,此代码报错:
'int' object is not iterable
谁能帮我解决这个问题?
【问题讨论】:
分享完整代码。 哪一行是错误 第二个循环线 你不应该像这样开始使用熊猫。 那我应该怎么用你能帮我吗? 【参考方案1】:您遇到的错误是因为 train.index[i+1]
不可交互。它是一个整数。
为什么不使用.shift
而使用第二个循环?
for i in train.index:
if train.loc[i,'gender']== train['gender'].shift(-1)[i]:
print(train['Address'])
请记住,print(train['Address'])
行将打印所有 'Address'
列。如果您在条件为True
时想要特定的'Address'
,则应使用print(train['Address'][i])
【讨论】:
以上是关于在以下情况下,如何在第二个 for 循环中访问 (i+1 ) 索引?的主要内容,如果未能解决你的问题,请参考以下文章
如何在python脚本中默认情况下在第二个TFT屏幕上运行套接字服务器控制台,而不是在主TFT屏幕上?
CodeIgniter:多个数据库 - 在第二个数据库中访问数据库配置
在第二个 setOnClickListener 代码中使用 address.getLatitude() 访问纬度和经度失败