切片列Pandas的一部分

时间:2015-12-30 20:07:37

标签: python python-2.7 pandas

我有一个数据框,其中“A”列为字符串。在'A'中有值 名1-L89783 nametwo-L33009

我想创建一个新列'B',以便删除'-Lxxxx',剩下的就是'name1'和'nametwo'。

2 个答案:

答案 0 :(得分:2)

为此使用向量化str.split,然后再次使用str来访问感兴趣的数组元素,在这种情况下是分割的第一个元素:

In [10]:
df[1] = df[0].str.split('-').str[0]
df

Out[10]:
                0        1
0    name1-L89783    name1
1  nametwo-L33009  nametwo

答案 1 :(得分:1)

初始化DataFrame

df = pd.DataFrame(['name1-L89783','nametwo-L33009'],columns=['A',])

>>> df
                A
0    name1-L89783
1  nametwo-L33009

Apply在行上运行,并将结果放在新列中。

df['B'] = df['A'].apply(lambda x: x.split('-')[0])

>>> df
                A        B
0    name1-L89783    name1
1  nametwo-L33009  nametwo