我需要找到单词“then”出现在Words表中的第一个位置。我正在尝试获取代码,以合并“text”列中从此位置开始的所有字符串,直到包含子字符串“666”或“999”的第一个文本为止(在本例中是它们的stoma 22、fe 156、sligh 334、pain 666的组合(所需的subtrings_output = 'theirfe 156 sligh 334 pain 666')。我尝试过:
their_loc = np.where(words['text'].str.contains(r'their', na =True))[0][0]
666_999_loc = np.where(words['text'].str.contains(r'666', na =True))[0][0]
subtrings_output = Words['text'].loc[Words.index[their_loc:666_999_loc]]
正如您所看到的,我不确定如何扩展666_999_loc的条件以包含子字符串666或999,而且分割两个变量之间的索引也会导致错误。
单词表:
| 页码|正文|字型|
| - ------|- ------|- ------|
| 1个|他们|无|
| 1个|吃|无|
| 1个|苹果|无|
| 第二章|以及|无|
| 第二章|那么|1个|
| 第二章|他们的|无|
| 第二章|气孔22|无|
| 第二章|铁156|1个|
| 第二章|sligh334|无|
| 第二章|疼痛666|1个|
| 第二章|给定|无|
| 第二章|该|1个|
| 三个|果实|无|
2条答案
按热度按时间kknvjkwl1#
您只需要为切片的末尾添加一个条件,并使用
|
操作符将or
条件添加到666_or_999_loc
的np.where
。输出:
zbq4xfa02#
IIUC,使用
pandas.Series.idxmax
和"".join()
。Series.idxmax(axis=0, skipna=True, *args, **kwargs)
因此,假设(
Words
)是您的 Dataframe ,请尝试以下操作:输出: