【发布时间】:2021-12-10 21:17:47
【问题描述】:
我有一个包含一列字符串的数据框。我想取出每一行中每个字符串的一部分,即年份,然后创建一个新列并将其分配给该列。我的问题是隔离字符串的最后一部分。一个例子可能是:'TON GFR 2018 N' 对于这个字符串,我可以通过运行以下之一来执行(为此我想隔离 18 而不是 2018)。
new_data['Year'] = pd.DataFrame([str(ele[1])[:2] for ele in list(new_data['Name'].str.split('20'))])
new_data['Year'] = new_data['Name'].str.split('20').str[1]
new_data['Year'] = new_data['Year'].str[:2]
但是,我也遇到类似这样的名称:“TON RO20 2018 N”或 TON 2020 N,然后它就不起作用了。我还在数据框中的不同行中遇到不同数量的空格,因此无法计算字符串中的空格数。
我的问题有什么聪明的解决方案吗?
【问题讨论】:
标签: python pandas string split