Python 将字符串的最后两位分开

Python 将字符串的最后两位分开,python,pandas,Python,Pandas,我一直试图从字符串的其余部分中分割逗号后的最后两个数字,但没有成功。这是一个csv文件。以00结尾的数字行没有逗号,10的倍数只显示一个数字。我想我可以解决这个问题,现在我需要帮助从对象的其余部分开始在句号后拆分数字 值 2020-01-01,"00:00:00",1467.21 2020-01-01,"00:00:02",1467.28 2020-01-01,"00:00:04",1466 2020-01-01,"00:00:06",1467.06 2020-01-01,"00:00:08"

我一直试图从字符串的其余部分中分割逗号后的最后两个数字,但没有成功。这是一个csv文件。以00结尾的数字行没有逗号,10的倍数只显示一个数字。我想我可以解决这个问题,现在我需要帮助从对象的其余部分开始在句号后拆分数字

值
2020-01-01,"00:00:00",1467.21
2020-01-01,"00:00:02",1467.28
2020-01-01,"00:00:04",1466
2020-01-01,"00:00:06",1467.06
2020-01-01,"00:00:08",1466.83  
2020-10-18,"19:55:04",3311.89
2020-10-18,"19:55:06",3313.03
2020-10-18,"19:55:08",3312.22
2020-10-18,"19:55:10",3312.29
2020-10-18,“19:55:12”,3311.8

df['Values'] = df['Values'].str.split('.').str[-1]
结果:

                       Values New_Value
0  2020-01-01,"00:00:00",1467        21
1  2020-01-01,"00:00:02",1467        28
2  2020-01-01,"00:00:04",1466        0
3  2020-01-01,"00:00:06",1467        06

下面的代码将帮助您

首先,需要将字符串值拆分为数字

所以我们可以得到正确的十进制值

然后根据句点运算符进行拆分

df['numbers'] = pd.to_numeric(df["values"].str.split(",", n = 2, expand = True)[2])
df['values'] = df['numbers'].astype(str).str.split('.', n=1, expand = True)[1]
输出:

21
28
 0
06
83
89
03
22
29
08

2020-01-01,“00:00:04”,1466
为您提供了不正确的
1466
,我可以处理这个问题,并设置一个条件,将
len()==4
的所有字符串替换为00。无论如何,谢谢你的回答。
21
28
 0
06
83
89
03
22
29
08