我正在读取一个csv文件,如下所示数据列用空格/逗号分隔(我可以同时使用这两种方法(。我已经能够使用以下代码阅读和分离列:
import numpy as np
import pandas as pd
import re
df = pd.read_csv('comma.csv',skipinitialspace=True, header=None, usecols=[0,1], names=['colA', 'colB'])
print df
我目前面临的问题是我的专栏A包含";切片";在主数字之前。我想删除它,然后根据主数字(升序(对其进行排序以绘制它。
我看了不同的论坛关于分裂,但无法使其发挥作用。例如:
temp = re.compile("([a-zA-Z]+)([0-9]+)")
res = temp.match(test_str).groups()
https://www.geeksforgeeks.org/python-splitting-text-and-number-in-string/
感谢您的帮助。
因此该列是一个字符串,并包含类似于"切片1";正确的如果是这样(而且总是这样(,我认为您可以简单地使用字符串替换函数。
firstvalue = "Slice1"
col_value = int(firstvalue.replace("Slice", ""))
注意,这是在做一些假设。例如,只有当初始值与上面的值完全相同时,这才有效。小写切片(如"切片1"(将不起作用。它还将假设结果可以被安全地解析为整数;切片1";也不会起作用。