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