Python 按特定字符拆分一列中的值
我有一个包含两列的数据框 在第一列(Motif_name)上,我的值如下所示:Python 按特定字符拆分一列中的值,python,pandas,split,Python,Pandas,Split,我有一个包含两列的数据框 在第一列(Motif_name)上,我的值如下所示: Motif_name Score 0 Motif_Name_xx1 0.001 1 Motif_Name_xx2 0.05 2 Motif_Name_xx3 0.02 3 Motif_Name_xx4 0.01 Motif_Name_xx/描述/荷马 第二列只包含一个分数 我试图用“/”分割我的第一列,并保留第一个元素 基本上是我尝试的: df=df['Motif_name'
Motif_name Score
0 Motif_Name_xx1 0.001
1 Motif_Name_xx2 0.05
2 Motif_Name_xx3 0.02
3 Motif_Name_xx4 0.01
Motif_Name_xx/描述/荷马
第二列只包含一个分数
我试图用“/”分割我的第一列,并保留第一个元素
基本上是我尝试的:
df=df['Motif_name'].str.split('/').str[1]
这里的问题是我的数据框被替换了:
print(df)
0 Motif_1
1 Motif_2
我丢失了标题和第二列
我希望有这样一个数据帧:
Motif_name Score
0 Motif_Name_xx1 0.001
1 Motif_Name_xx2 0.05
2 Motif_Name_xx3 0.02
3 Motif_Name_xx4 0.01
似乎需要参数
n=1
用于按第一个/
拆分,需要参数str[0]
用于获取列表的第一个值(来自0
的python计数),然后将其分配给同一列:
df['Motif_name'] = df['Motif_name'].str.split('/', n=1).str[0]
似乎需要参数
n=1
用于按第一个/
拆分,需要参数str[0]
用于获取列表的第一个值(来自0
的python计数),然后将其分配给同一列:
df['Motif_name'] = df['Motif_name'].str.split('/', n=1).str[0]
好的,我只是在编辑问题时看到了解决方案,所以如果其他人需要答案:
EF1a_R1_df['Motif_name']=EF1a_R1_df['Motif_name'].str.split('/').str[0]
基本上,为了替换所有数据框,只需替换列,它就可以正常工作。好的,我在编辑问题时看到了解决方案,因此如果其他人需要答案:
EF1a_R1_df['Motif_name']=EF1a_R1_df['Motif_name'].str.split('/').str[0]
基本上,为了替换所有数据框,只需替换列即可。是的,谢谢,我也找到了解决方案。在我的例子中[1]是一个错误。谢谢,谢谢,我也找到了解决办法。在我的例子中[1]是一个错误。谢谢