我有一个22列的熊猫数据框,我想修改“结果”列中的所有值。
在我的文件中,结果列中的值是'W(+3)'形式的字符串,我想提取整数,基本上就是括号内的东西。
a[a.find("(")+1:a.find(")")]
我只使用find函数并为字符串编制索引。但是,如何将其应用于“结果”列中的所有值。我想我可以使用for循环进行迭代,还有其他方法吗?
答案 0 :(得分:2)
您可以将str.extract
与正则表达式一起使用
例如:
import pandas as pd
df = pd.DataFrame({"Result": [ 'W (+3)' ]})
print(df["Result"].str.extract(r"\((.*?)\)"))
输出:
0 +3
Name: Result, dtype: object
答案 1 :(得分:0)
有一个apply函数:a ['Results']。apply(lambda x:...),它比循环遍历数据帧要快