pandas Python将格式为“%M:%S.%f”的字符串的df中的列转换为秒数的浮点数

hzbexzde  于 2023-05-12  发布在  Python
关注(0)|答案(2)|浏览(88)

我知道这是一个简单的修复,我只是不能让它为整个专栏工作。我想做的就是将D Interval中的字符串%M:%S.%f转换为浮点数秒。

3pmvbmvn

3pmvbmvn1#

你可以试试这个:

df["D Interval"] = pd.to_timedelta(df["D Interval"].radd("00:")).dt.total_seconds()

输出:

print(df)
​
   Index   D Time  D Interval
0      1  00:54.3       54.30
1      2  00:57.1        2.80
  • 使用的输入:*
df = pd.DataFrame(
    {"Index": [1, 2],
     "D Time": ["00:54.3", "00:57.1"],
     "D Interval": ["00:54.3", "00:02.8"]}
)
lbsnaicq

lbsnaicq2#

可以使用str.extract

df['D Interval'] = (df['D Interval'].str.extract(r'(\d+):(\d+)\.(\d+)')
                                    .astype(int).mul([60, 1, 0.1]).sum(axis=1))
print(df)

# Output
    D Time  D Interval
0  00:54.3        54.3
1  00:57.1         2.8

它也适用于str.split

df['D Interval'] = (df['D Interval'].str.split('[:.]', expand=True)
                                    .astype(int).mul([60, 1, 0.1]).sum(axis=1))

相关问题