其中series_id是dtype对象。我跑的时候:
df['dataType'] = df['series_id'].apply(lambda x: x[-1:])
什么都没发生,但是当我跑步时:
df['dataType'] = df['series_id'].apply(lambda x: x[19:20])
它会创建正确的dataType列。
为什么我无法从对象的末尾切片,但从一开始就有效?
答案 0 :(得分:0)
当然答案是最后的额外空格,:
df['dataType'] = df['series_id'].apply(lambda x: x.strip()[-1:])
.strip()会处理它。希望有所帮助。
答案 1 :(得分:0)
如果你只需要series_id的最后一个字符,你可以将它转换为str并从字符串中取出最后一个字符。添加条带以确保删除尾随空格。
df['dataType'] = df.series_id.str.strip().str[-1]