Python pandas-从另一个df元素的拆分元素更新dataframe中的值

Python pandas-从另一个df元素的拆分元素更新dataframe中的值,python,pandas,Python,Pandas,Python新手正在学习熊猫,所以这可能不是正确的方法 在数据帧df中,有列testID和proj testID是一个int(如'23'),proj是一个下划线分隔的名称,由三部分组成(如bob\u xp\u sam)。我希望修改所有testID值,例如xp-23(通过从proj捕获“xp”,并将其与每个现有的testID值关联。) 这就是我所处的位置,但它不会飞: df['testID'] = df['proj'].str.split('_')[1] +'-'+ df['testID'] 我

Python新手正在学习熊猫,所以这可能不是正确的方法

在数据帧
df
中,有列
testID
proj

testID
是一个
int
(如'23'),
proj
是一个下划线分隔的名称,由三部分组成(如
bob\u xp\u sam
)。我希望修改所有
testID
值,例如
xp-23
(通过从
proj
捕获
“xp”
,并将其与每个现有的
testID
值关联。)

这就是我所处的位置,但它不会飞:

df['testID'] = df['proj'].str.split('_')[1] +'-'+ df['testID']
我尝试过一些变化,例如:

df['proj'].split('_')[1]
 > AttributeError: 'Series' object has no attribute 'split'

df['proj'].str.split('_')[1]
> TypeError: can only concatenate list (not "str") to list

我很确定我的方法是错误的-请稍微说明一下方向。

[1]
之前,您需要另一个
str
访问器来访问列表类型列中的单个元素(由
split
返回):


[1]
之前,您需要另一个
str
访问器来访问列表类型列中的单个元素(由
split
返回):

df['proj'].str.split('_').str[1]
#                         ^^^