要将键'a'
值从['11 - 18 [1.3']
分割为'a1': ['11' ,'12','13','14','8']
{
引用此格式的正则表达式
数据
x = {'a': ['11 - 18 [1.3]','12 - 17 [2.8]','13 - 18 [3.3]','14 - 16 [4.7]','8 - 48 [5.3]'],
'b': [13.0, 11.0, 12.0, 14.0, 15.0]}
打印数据
a b
0 11 - 18 [1.3] 13.0
1 12 - 17 [2.8] 11.0
2 13 - 18 [3.3] 12.0
3 14 - 16 [4.7] 14.0
4 8 - 48 [5.3] 15.0
预期结果
a1 a2 a3 b
0 11 18 1.3 13.0
1 12 17 2.8 11.0
2 13 18 3.3 12.0
3 14 16 4.7 14.0
4 8 48 5.3 15.0
预期输出数据
y = {'a1': ['11' ,'12','13','14','8'],'a2': ['18' ,'17','18','16','48'], 'a3': ['1.3' ,'2.8','3.3','4.7','5.3'], 'b': [13.0, 11.0, 21.0, 13.0, 17.0]}
正则表达式将是实现这一目标的最佳方法:
将
.str.extract
与命名的捕获组一起使用:如果数据帧中的模式不一致,请使用
.str.extractall
获取所有数字:您可以使用正则表达式将文本拆分为新列,然后将字符串转换为数字,例如:
要获得:
相关问题 更多 >
编程相关推荐