我想拆分数据帧中特定列中的字符串,从两个新序列中获取数字,并将值赋给四个新列。你知道吗
在进行任何修改之前,Saison上的“分数”列如下所示:
0 \n3:2 (1:1) \n
1 \n0:2 (0:2) \n
2 \n1:1 (1:0) \n
3 \n1:1 (1:1) \n
4 \n2:0 (2:0) \n
我想要的输出是:
Tore_Heim Tore_Auswärts Tore_Heim_HZ Tore_Auswärts_HZ
0 3 2 1 1
1 0 2 0 2
2 1 1 1 0
3 1 1 1 1
4 2 0 2 0
我用列表理解找到了一个解决方案如下:
scores["Tore_Heim"] = pd.DataFrame([re.findall("\d+", scores[0][i]) for i in range(len(scores))]).loc[:, 0]
scores["Tore_Auswärts"] = pd.DataFrame([re.findall("\d+", scores[0][i]) for i in range(len(scores))]).loc[:, 1]
scores["Tore_Heim_HZ"] = pd.DataFrame([re.findall("\d+", scores[1][i]) for i in range(len(scores))]).loc[:, 0]
scores["Tore_Auswärts_HZ"] = pd.DataFrame([re.findall("\d+", scores[1][i]) for i in range(len(scores))]).loc[:, 1]
第二个问题是第二行和第三行是否可以合并为一行。你知道吗
您可以使用
str.extractall
+unstack
:若要转换为数字类型,请应用
pd.to_numeric
跨列-或者,执行
astype
转换-相关问题 更多 >
编程相关推荐