Python: 可变右 n 个字符

Python: Variable Right n Characters

我正在尝试 return 根据特定字符的正确字符数来确定正确的 n 个字符。在本例中,它是“#”符号。

df = pd.DataFrame(kitties)
df.columns = ['Asset','Endtime','Price']
df['neg_one'] = -1
df['pos_one'] = 1
df['Asset_num_1']= df['Asset'].str[-5:]
df['Asset_num_2'] = df['Asset_num_1'].str.find(search_value)
df['Asset_num_3'] = df['Asset_num_2'] + df['pos_one']
df['Asset_num_4']= df['Asset'].str[(df['Asset_num_3']*df['neg_one']):]

除了最后一行,我尝试使用公式将字符数设置为 return,其他一切看起来都正常。

给我以下数据集:

34 小猫 #5090 2021-12-23 22:00:00+00:00 419 -1 1 #5090 0 1 NaN 35 小猫 #577 2021-12-23 10:00:00+00:00 427 -1 1 #577 1 2 NaN

要按其他列过滤字符,请使用:

df['Asset_num_4']= df.apply(lambda x: x['Asset'][x['Asset_num_3']*x['neg_one']:], axis=1)

或列表理解:

df['Asset_num_4']= [a[b*c:] for a,b,c in df[['Asset','Asset_num_3','neg_one']].to_numpy()]