修改Dataframe列值

时间:2017-08-10 19:17:06

标签: pandas

我的pandas数据框包含以下格式的数据:

SAC1001.K
KAM10120.B01.W001
CLT004.09C
ASMA104
AJAY101.A.KAS.101

我希望使用字符串操作修改列,结果是

SAC1001.K
KAM10120.B01
CLT004.09C
ASMA104
AJAY101.A

如何做到这一点?正则表达式看起来是单向的,但不确定。还有其他优雅的方式吗?请指导

2 个答案:

答案 0 :(得分:2)

In [109]: df
Out[109]:
                 col
0          SAC1001.K
1  KAM10120.B01.W001
2         CLT004.09C
3            ASMA104
4  AJAY101.A.KAS.101

In [110]: df['col'] = df['col'].str.replace(r'(\..*?)\..*', r'\1')

In [111]: df
Out[111]:
            col
0     SAC1001.K
1  KAM10120.B01
2    CLT004.09C
3       ASMA104
4     AJAY101.A

答案 1 :(得分:1)

这是另一种没有正则表达式的方法,但可能有太多的str

df['col'].str.split('.').str[:2].str.join('.')