我的 df 中的“已發布”列的日期類似于“1980 年 6 月 20 日(美國)。同一個 df 中的“年份”列只有“1980”這樣的年份。
但是某些行在“年份”列中有年份,這與同一行的“已發布”列中的年份不對應。
我使用下面的代碼創建了一個新的“年份”列:
df['yearcorrect'] = df['released'].astype(str).str[6:11]
df
這運行但不回傳年份。它回傳諸如“198”、“19”等資訊。
我希望問題足夠清楚。請幫助。
uj5u.com熱心網友回復:
正如評論中所建議的那樣 - 用空格分割字串并取第三項。假設您的資料如下所示:
df = pd.DataFrame({'released': ['June 20, 1980 (United States)','May 18, 1970 (Sweden)']})
df['year'] = df['released'].apply(lambda x: x.split()[2])
uj5u.com熱心網友回復:
假設您的“已發布”列始終具有相同的結構,您可以使用:
import re
df['yearcorrect'] = df.apply(lambda x: re.sub('[^0-9]', "", x.released.split(",")[1]), axis = 1)
它僅提取逗號后字串部分中的數字字符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/345061.html
上一篇:根據Pandas中的行值洗掉列
