【发布时间】:2023-01-28 00:38:36
【问题描述】:
我正在使用 df.iterrows() 函数遍历数据帧,但不确定如何指定要从中运行数据帧的行号。我在初始 for 循环(如下)中使用行计数器来搜索行中的 X,一旦找到 X,我需要遍历数据帧的其余部分以找到 Y,但不遍历初始行在搜索 X 时已经循环了。
我试图通过删除直到 X 的所有行来实现此目的,但这不起作用,因为它删除了我稍后在找到初始 X 和 Y 后需要的条目,并且我需要找到下一个 X 和 Y。
row_count = 0
for index, row in new_df.iterrows():
if X in row[2]:
row_count += 1
# take information required from row
for visit_index, visit_row in new_df.iterrows():
if Y in visit_row[2]:
# take information required from row
# append information to new dataframe
break
else:
new_df.drop(index, inplace = True)
row_count += 1
我想做的是使用 row_count,这样当我找到 X 时,我可以从 X 所在的行开始再次遍历数据帧,我该怎么做?
【问题讨论】:
-
什么是 X? row[2] 中存储了什么数据——这是 DataFrame 中的列表吗?
-
X 是一个字符串,row[2] 只是字符串
-
那么你是想在一个字符串中找到一个子字符串吗?
-
是的 X 是句子中的子串,Y 也是