我有一个df:
name data
jack 1.2.3
xander 1.2
如果有第二个'。在数据字符串中,我想删除它以及之后的所有内容。
到目前为止,我正在做:
df.loc[df['data'].str.count('.') == 2, 'data'] = df['data'].str.split('.')
这回馈
name data
jack [1,2,3]
xander 1.2
如何编辑上面的代码以将结果列表添加到“。”上。对于前两个元素只能导致此?
name data
jack 1.2
xander 1.2
我正在尝试做这样的事情,但是遇到了一系列错误(联接要么不联接,要么使列表完整无缺,要么返回Nan)
df.loc[df['data'].str.count('.') == 2, 'data'] = '.'.join(df['data'].str.split('.')[:2])
如果有更好的方法,请告诉我!
单程:
df['data'] = df['data'].str.split('.').str[:2].apply('.'.join)
或使用extract
:
df['data'] = df['data'].str.extract('^([^\.]+\.[^\.]+)')
输出:
name data
0 jack 1.2
1 xander 1.2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句