我正在为切片而苦苦挣扎。我认为这通常很容易并且我理解它,但是当涉及到以下情况时,我的想法不起作用。
情况:在我的 DF 列之一中,我想在所有行中删除一些有时会出现有时不会出现的字符串。
问题看起来像这样:
1.我不知道这个字符串开始的确切位置(在每一行中它可能是不同的
2.这个字符串不同,取决于每一行,但是,它总是从同一个结构开始 - 比如说:“¯main_”
3.通常在“¯main_”之后,有一些数字(它不同)但是长度总是相同的(9个数字)
4.我已经在拆分之后,我有大约 40 列(每列都有类似的问题)。这就是为什么我正在寻找一些更有效的方法来解决它,然后拆分,生成大约 40 列然后删除它们。
5.有时在这个带有“¯main_”的字符串之后,我想在同一列中留下一些额外的字符串。
例子:
Column1
A1-19
B2-52
C3-1245¯main_123456789
D4
Z89028
F7¯main_123456789,Z241
寻找这样的结果:
Column1
A1-19
B2-52
C3-1245
D4
Z89028
F7,Z241
到目前为止我准备的最佳解决方案:
a = test.find("¯")
b = a+14
df[0].str.slice(start = a, stop = b)
但:
1.它不能正常工作
2.我知道 test.find() 在找不到字符时会返回 -1。我不知道如何摆脱它 - 写一个循环?我相信存在一些更好(更有效)的解决方案。然而,经过几个小时的寻找,我决定寻求帮助。