提取熊猫系列列表中的倒数第二个元素

时间:2019-05-13 19:00:19

标签: python pandas

在Panda Dataframe中,有一列数据我要提取受'-'限制的字符串的倒数第二个词,并将其放入另一列/系列中

样本数据:

Serial_Code=pd.series([
    xxxx-myData1-xxx,
    xxxx-xxx-xx-myData2-x,
    MyData3-xxxxxxxx,
    x-MyData4-xxx,
])

如您所见,我要提取的数据始终位于右第二个以破折号分隔的位置

我使用pandas.str.split分隔字符串块

temp_series=df["Serial_Code"].str.split("-")

现在我有一系列由不同长度的列表组成

temp_series=pd.Series([
    [xxxx,myData1,xxx],
    [xxxx,xxx,xx,myData1,x],
    [myData3,xxxxxxx],
    [x,myData4,xxx]
])

如何在不使用循环逐行浏览每一行的情况下获得这样的列表/系列?

final_series=([
    myData1, 
    myData2, 
    myData3, 
    myData4
])

1 个答案:

答案 0 :(得分:2)

使用str访问器

s.str.split('-').str[-2]

s.str.split('-').str.get(-2)

两种产量

0    myData1
1    myData2
2    MyData3
3    MyData4
dtype: object