python - 在以下情况下,如何在第二个 for 循环中访问 (i+1 ) 索引?
问题描述
火车是一个数据框,其中我有两列:
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
谁能帮我解决这个问题?
解决方案
您遇到的错误是因为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'
列。如果你想要具体'Address'
的条件是True
你应该使用print(train['Address'][i])
推荐阅读
- c# - 如何拦截最小化?
- mysql - 内部连接以获取具有最大列值的行
- flutter - 我可以在哪里存储我的 android 应用程序的图像?
- excel - 将工作表的选中项粘贴到 VBA Excel 中另一个工作表的彩色单元格
- android - 处于滚动模式时通知 RecyclerView 适配器的问题
- linux - 得到错误==>`换行符或;' 意外
- mysql - MySQL 自动查询
- flutter - 如何在项目网格列表中的图像内添加文本和一些内容
- python - 使用python从字典中的字典中获取JSON数据
- python - 在 Bokeh WheelZoomTool 中停止缩放到某个级别