我得到了非数学模式的NaN w.r.t在Pandas中分裂。
来源数据:
Attr
[ABC].[xyz]
CDE
使用的代码:
df['Extr_Attr'] = np.where((df.Attr.str.contains('.')),df['Attr'].str.split('.',1).str[1], df.Attr)
This returns NaN for data that does not have a match of '.' in source data.
预期输出:
Attr Extr_Attr
[ABC].[xyz] [xyz]
CDE CDE
2条答案
按热度按时间vh0rcniy1#
假设您需要点后面的最后一个块(如果有,则为完整字符串)。
如果要拆分,请使用
rsplit
并对last项进行切片:或者更有效地使用
extract
(获取字符串末尾的所有非.
字符):输出量:
zlwx9yxi2#
我想我们可以跳过
str.contains
,使用.split
和.fillna