在数据框的一列的每一行中使用拆分函数

时间:2018-06-14 13:07:06

标签: python-3.x pandas dataframe split

我有一个相当大的pandas数据框(超过100万行),其中包含字符串或数字的列。现在我想在表达式“应用”之前将字符串拆分为一列。

解释我的意思的一个例子:

我有什么:

a    b    description
2    4    method A is applied
10   5    titration is applied
3    1    computation is applied

我在寻找:

 a    b    description
 2    4    method A 
 10   5    titration 
 3    1    computation 

我尝试了以下内容,

df.description = df.description.str.split('is applied')[0]

但这并没有带来预期的结果。

任何想法怎么做? : - )

2 个答案:

答案 0 :(得分:3)

你很近,需要str[0]

df.description = df.description.str.split(' is applied').str[0]

替代解决方案:

df.description = df.description.str.extract('(.*)\s+is applied')
print (df)
    a  b  description
0   2  4     method A
1  10  5    titration
2   3  1  computation

但为了更好地使用list comprehension

df.description = [x.split(' is applied')[0] for x in df.description]

答案 1 :(得分:1)

您可以使用replace

df.description = df.description.str.replace(' is applied','')
df
    a  b  description
0   2  4     method A
1  10  5    titration
2   3  1  computation