我有一个相当大的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]
但这并没有带来预期的结果。
任何想法怎么做? : - )
答案 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