Python 将发送给pandas.series的数据转换为干净数组
我需要创建三个熊猫系列(x、y、z)。这方面的数据以各种方式格式化。有些由Python 将发送给pandas.series的数据转换为干净数组,python,pandas,type-conversion,Python,Pandas,Type Conversion,我需要创建三个熊猫系列(x、y、z)。这方面的数据以各种方式格式化。有些由\n和分隔,其中一些仅使用空格分隔。我想要一种将这些数据提取到列表中的通用方法。数据如下所示: x is "\n -10.03 -7.02 -0.05 9.96 20 40" y is "\n 0.70;\n 0.79;\n 0.90;\n 1.00" z is "\n 100.00 100.00 100.00 100.00 100.00 100.00;\.." (24 times) 这可以通过使用正则表达式和列表来实现
\n
和分隔代码>,其中一些仅使用空格分隔。我想要一种将这些数据提取到列表中的通用方法。数据如下所示:
x is "\n -10.03 -7.02 -0.05 9.96 20 40"
y is "\n 0.70;\n 0.79;\n 0.90;\n 1.00"
z is "\n 100.00 100.00 100.00 100.00 100.00 100.00;\.." (24 times)
这可以通过使用正则表达式和列表来实现:
代码:
import re
split_pattern = re.compile(r'[\n \t;]+')
x = '\n -10.03 -7.02 -0.05 9.96 20 40'
y = '\n 0.70;\n 0.79;\n 0.90;\n 1.00'
z = '\n 100.00 100.00 100.00 100.00 100.00 100.00;'
for data in (x, y, z):
data_list = [float(d) for d in split_pattern.split(data) if d != ""]
print(data_list)
[-10.03, -7.02, -0.05, 9.96, 20.0, 40.0]
[0.7, 0.79, 0.9, 1.0]
[100.0, 100.0, 100.0, 100.0, 100.0, 100.0]
结果:
import re
split_pattern = re.compile(r'[\n \t;]+')
x = '\n -10.03 -7.02 -0.05 9.96 20 40'
y = '\n 0.70;\n 0.79;\n 0.90;\n 1.00'
z = '\n 100.00 100.00 100.00 100.00 100.00 100.00;'
for data in (x, y, z):
data_list = [float(d) for d in split_pattern.split(data) if d != ""]
print(data_list)
[-10.03, -7.02, -0.05, 9.96, 20.0, 40.0]
[0.7, 0.79, 0.9, 1.0]
[100.0, 100.0, 100.0, 100.0, 100.0, 100.0]
你有3到4个问题,请把它们分成几个帖子谢谢。这正是我现在想要的。很抱歉,这个问题一开始不清楚。:)