更改Pandas数据框中的一列中的所有值

时间:2018-07-11 10:03:02

标签: python pandas dataframe

我有一个22列的熊猫数据框,我想修改“结果”列中的所有值。

在我的文件中,结果列中的值是'W(+3)'形式的字符串,我想提取整数,基本上就是括号内的东西。

a[a.find("(")+1:a.find(")")]

我只使用find函数并为字符串编制索引。但是,如何将其应用于“结果”列中的所有值。我想我可以使用for循环进行迭代,还有其他方法吗?

2 个答案:

答案 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:...),它比循环遍历数据帧要快