python - 将发往 pandas.series 的数据转换为干净的数组

标签 python pandas type-conversion

我需要创建三个pandas.Series (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)

最佳答案

这可以使用正则表达式和列表理解来完成:

代码:

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]

关于python - 将发往 pandas.series 的数据转换为干净的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42571173/

相关文章:

python - 替换 Pandas 数据框中的行

python - 如何从多个字符串中删除某些字符?

python - 将 pandas DataFrame 中的每小时时间序列拆分为特定日期和所有其他日期

python - 应用衰减因子返回 Pandas 中的数据并保存为新变量

c++ - 引用类型之间的隐式转换

python - 如何使用 application/x-www-form-urlencoded 在 python 中发出原始数据发布请求

Python列表切片序列遗传密码

Python 绘图 - 循环遍历特征和绘图的唯一值

c++ - 将 long long 转换为 int 如何工作?

c++ - 使用用户定义的转换来转换元组