Python 3.x 如何基于前缀拆分我的数据帧值

Python 3.x 如何基于前缀拆分我的数据帧值,python-3.x,pandas,Python 3.x,Pandas,我的dataframe列具有不同的值。我希望拆分前缀为172_uu的值并更新相同的dataframe。有人能帮我吗 df_select['tradename_id']=['172_002000026440_AT','172_002000026440_CA','CA_CORPORATE1','CA_LYM_B'] df_select['tradename_id'].str.rsplit("_", n=1, expand=True) Actual value :172_0020

我的dataframe列具有不同的值。我希望拆分前缀为172_uu的值并更新相同的dataframe。有人能帮我吗

df_select['tradename_id']=['172_002000026440_AT','172_002000026440_CA','CA_CORPORATE1','CA_LYM_B']
df_select['tradename_id'].str.rsplit("_", n=1, expand=True)

Actual value :172_002000026440_AT
Expected value:172_002000026440

我认为您只需要通过创建的掩码设置新值,在split remove expand=True中,通过索引str[0]选择第一个列表:

或使用:


我认为您只需要通过创建的掩码设置新值,在split remove expand=True中,通过索引str[0]选择第一个列表:

或使用:

Try expand=False Try expand=False
df_select = pd.DataFrame({'tradename_id':['172_002000026440_AT','172_002000026440_CA',
                                          'CA_CORPORATE1','CA_LYM_B']})
m = df_select['tradename_id'].str.startswith('172_')
df_select.loc[m,'tradename_id'] = df_select.loc[m,'tradename_id'].str.rsplit("_", n=1).str[0]

print (df_select)
       tradename_id
0  172_002000026440
1  172_002000026440
2     CA_CORPORATE1
3          CA_LYM_B
m = df_select['tradename_id'].str.startswith('172_')
df_select['tradename_id'].update(df_select.loc[m,'tradename_id'].str.rsplit("_", n=1).str[0])

print (df_select)
       tradename_id
0  172_002000026440
1  172_002000026440
2     CA_CORPORATE1
3          CA_LYM_B