我之前发布的问题为"使用“.between”表示字符串值不在python"而且我不够清楚,但我无法编辑,所以我在这里清楚地重新发布。
我有一个数据框。在[0,61]我有字符串。在[0,69]我有一个字符串。我想切片这两个单元格中的所有数据[0,62:68]并合并它们,并将结果粘贴到[1,61]中。随后,[0,62:68]将为空白,但这并不重要。
但是,我有几百个文档,我想写一个在所有文件上执行的脚本。 [0,61]和[0,69]中的字符串始终存在于所有文档中,但沿着该列中的不同位置。所以我尝试使用:
For_Paste = df [0] [df [0]。之间('工作描述/工作表','其他要求/支持文件',包括= False)]
但我得到的输出是:Series([],Name:0,dtype:object)
我期待一个列表或数组,其中包含我可以合并和粘贴的所需数据。感谢。
答案 0 :(得分:0)
如果要在数据框idx_start
的列idx_end
上选择两个索引(例如col
和df
)之间的行(不包括这两行),将要使用
df.loc[idx_start + 1 : idx_end, col]
要查找与字符串s
匹配的第一个索引,请使用
idx = df.index[df[col] == s][0]
因此,对于您的情况,要返回这两个索引之间的一系列行,请尝试以下操作:
start_string = 'DESCRIPTION OF WORK / STATEMENT OF WORK'
end_string = 'ADDITIONAL REQUIREMENTS / SUPPORTING DOCUMENTATION'
idx_start = df.index[df[0] == start_string][0]
idx_end = df.index[df[0] == end_string][0]
For_Paste = df.loc[idx_start + 1 : idx_end, 0]