如何从Pandas、Python中分割findall结果
我想使用特定模式从从excel电子表格中提取的一列工作表名称中提取,并且只从结果列表中检索最后一个结果 例如:如何从Pandas、Python中分割findall结果,python,regex,pandas,Python,Regex,Pandas,我想使用特定模式从从excel电子表格中提取的一列工作表名称中提取,并且只从结果列表中检索最后一个结果 例如: "<Worksheet ""2012"">" "<Worksheet ""2012"">" "<Worksheet ""2012"">" "<Worksheet ""2012 - 2013"">" "<Worksheet ""2012 - 13"">" "<Worksheet ""2011-2012"">" "&l
"<Worksheet ""2012"">"
"<Worksheet ""2012"">"
"<Worksheet ""2012"">"
"<Worksheet ""2012 - 2013"">"
"<Worksheet ""2012 - 13"">"
"<Worksheet ""2011-2012"">"
"<Worksheet ""2011-2012"">"
"<Worksheet ""2011-2012"">"
"<Worksheet ""2011-2012"">"
"<Worksheet ""2011-2012"">"
"<Worksheet ""2011-2012"">"
"<Worksheet ""2011-2012"">"
"<Worksheet ""2011-2012"">"
"<Worksheet ""2011-2012"">"
"<Worksheet ""2011-2012"">"
如何使用工作表列中的模式正确提取并仅检索最后一个实例
结果应该如下所示:
12
12
12
13
13
12
12
12
12
12
12
12
12
12
12
你可以这样做:
df['worksheet'] = df['worksheet'].astype(str).str[-4:-2]
你可以这样做:
df['worksheet'] = df['worksheet'].astype(str).str[-4:-2]
使用
.str
访问器,您可以通过索引或使用get
方法访问列表的部分内容
我认为您正在寻找:
df['worksheet'] = df['worksheet'].str.findall('\d{2}').str[-1]
输出:
0 12
1 12
2 12
3 13
4 13
5 12
6 12
7 12
8 12
9 12
10 12
11 12
12 12
13 12
14 12
dtype: object
使用
.str
访问器,您可以通过索引或使用get
方法访问列表的部分内容
我认为您正在寻找:
df['worksheet'] = df['worksheet'].str.findall('\d{2}').str[-1]
输出:
0 12
1 12
2 12
3 13
4 13
5 12
6 12
7 12
8 12
9 12
10 12
11 12
12 12
13 12
14 12
dtype: object
您可以使用map访问findall结果中的列表,如: 代码: 测试代码:
将熊猫作为pd导入
输入数学
df=pd.DataFrame([
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
],列=[“工作表”])
打印(df)
打印(df['sheet'].str.findall('\d{2}').map(lambda x:x[-1]))
结果:
工作表
0
1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
0 12
1 12
2 12
3 13
4 13
5 12
6 12
7 12
8 12
9 12
10 12
11 12
12 12
13 12
14 12
名称:工作表,数据类型:对象
您可以使用map访问findall结果中的列表,如:
代码:
测试代码:
将熊猫作为pd导入
输入数学
df=pd.DataFrame([
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
],列=[“工作表”])
打印(df)
打印(df['sheet'].str.findall('\d{2}').map(lambda x:x[-1]))
结果:
工作表
0
1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
0 12
1 12
2 12
3 13
4 13
5 12
6 12
7 12
8 12
9 12
10 12
11 12
12 12
13 12
14 12
名称:工作表,数据类型:对象
worksheet
0 <Worksheet 2012>
1 <Worksheet 2012>
2 <Worksheet 2012>
3 <Worksheet 2012 - 2013>
4 <Worksheet 2012 - 13>
5 <Worksheet 2011-2012>
6 <Worksheet 2011-2012>
7 <Worksheet 2011-2012>
8 <Worksheet 2011-2012>
9 <Worksheet 2011-2012>
10 <Worksheet 2011-2012>
11 <Worksheet 2011-2012>
12 <Worksheet 2011-2012>
13 <Worksheet 2011-2012>
14 <Worksheet 2011-2012>
0 12
1 12
2 12
3 13
4 13
5 12
6 12
7 12
8 12
9 12
10 12
11 12
12 12
13 12
14 12
Name: worksheet, dtype: object