我正在嘗試根據特定字符右側的字符數回傳正確的 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']):]
除了最后一行我嘗試使用公式設定要回傳的字符數外,一切看起來都正常。
給我以下資料集:
34 Kitty #5090 2021-12-23 22:00:00 00:00 419 -1 1 #5090 0 1 NaN 35 Kitty #577 2021-12-23 10:00:00 00:00 #427 -1 577 1 2 NaN
uj5u.com熱心網友回復:
對于另一列的過濾器字符,請使用:
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()]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/392734.html
上一篇:加入一個DataFrame串列
