gpt4 book ai didi

python - 删除 timedelta 对象中的天数

转载 作者:行者123 更新时间:2023-12-01 08:50:59 25 4
gpt4 key购买 nike

我在 pandas dataframe 中有一个列,它是在减去两次后创建的。我现在有一个像 -1 days +02:45:00 这样的 timedelta 对象。我只需要删除 -1 天并希望其为 02:45:00。有办法做到这一点吗?

最佳答案

我想你可以减去days转换为时间增量:

td = pd.to_timedelta(['-1 days +02:45:00','1 days +02:45:00','0 days +02:45:00'])
df = pd.DataFrame({'td': td})

df['td'] = df['td'] - pd.to_timedelta(df['td'].dt.days, unit='d')

print (df.head())

td
0 02:45:00
1 02:45:00
2 02:45:00

print (type(df.loc[0, 'td']))
<class 'pandas._libs.tslibs.timedeltas.Timedelta'>

或者将 timedeltas 转换为字符串并提取 days. 之间的字符串:

df['td'] = df['td'].astype(str).str.extract('days (.*?)\.')
print (df.head())
td
0 +02:45:00
1 02:45:00
2 02:45:00

print (type(df.loc[0, 'td']))
<class 'str'>

关于python - 删除 timedelta 对象中的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53129971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com