Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改数据帧一列中的所有值_Python_Pandas_Dataframe - Fatal编程技术网

Python 更改数据帧一列中的所有值

Python 更改数据帧一列中的所有值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个包含22列的熊猫数据框,我想修改“Result”列中的所有值 在我的文件中,结果列中的值是形式为“W(+3)”的字符串,我想提取整数,基本上就是这个字符串中的内容 a[a.find("(")+1:a.find(")")] 我只是使用find函数并为字符串编制索引。但是如何将其应用于“Result”列中的所有值呢。我想我可以用for循环进行迭代,还有其他方法吗?你可以用正则表达式模式使用str.extract Ex: import pandas as pd df = pd.DataFra

我有一个包含22列的熊猫数据框,我想修改“Result”列中的所有值

在我的文件中,结果列中的值是形式为“W(+3)”的字符串,我想提取整数,基本上就是这个字符串中的内容

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

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

你可以用正则表达式模式使用
str.extract

Ex:

import pandas as pd
df = pd.DataFrame({"Result": [ 'W (+3)' ]})
print(df["Result"].str.extract(r"\((.*?)\)"))
0    +3
Name: Result, dtype: object
输出:

import pandas as pd
df = pd.DataFrame({"Result": [ 'W (+3)' ]})
print(df["Result"].str.extract(r"\((.*?)\)"))
0    +3
Name: Result, dtype: object

有一个apply函数:a['Results'].apply(lambda x:…),它比在数据帧中循环要快

谢谢。基本上只是添加了df['Result']=df[“Result”]。str.extract(r“(.*?)
(r“(.*?))
不会得到括号内的内容。可以吗?很好用,谢谢。我刚刚分配了新专栏。