基于Python中的字符操作字符串



我正在处理一些具有时间间隔的数据操作,pandas数据帧中有两种时间格式。时间间隔的每一次第一次出现都是重复的(下面的例子中是1:221:22(,第二次出现在引号中,前面有两个逗号。如何尽可能有效地操作数据?

来自示例数据:

obs1, 1:221:22,
obs2, ",,1:22"

收件人:

obs1, 1:22,
obs2, 1:22

首先需要一个过滤器来分离如何威胁列。

filter_commas = (df[comma_column].str.startswith(",,"))

然后你必须根据你的数据进行威胁。

#First removing all the commas at start
df.loc[filter_commas,column_name] = df.loc[filter_commas, column_name].str.replace(",","")

然后你必须将数据拆分为非的数据

#Splitting the rest of rows based in half of the row length
df.loc[~filter_commas,column_name] = df.loc[~filter_commas,column_name].apply(lambda row_val: row_val[:len(row_val)/2])

代码可能是错误的,但这应该会让你进入正确的轨道

最新更新