python - 删除 timedelta 对象中的天数
问题描述
dataframe
我在减去两次后创建的熊猫中有一个列。我现在有一个timedelta
像这样的对象-1 days +02:45:00
。我只需要删除 -1 天并希望它是02:45:00
. 有没有办法做到这一点?
解决方案
我认为您可以减去days
转换为 timedeltas:
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 - 需要将抓取的数据写入 csv 文件(线程)
- node.js - 适用于 Node.js 的 Twilio Lookup API - 验证并获取 E.164 格式
- vue.js - jest.fn() 声称没有被调用,但有
- html - 如何创建半透明的模糊叠加层?
- arangodb - 查询多个集合 Arangodb
- checkbox - 在 Google 表格中选中复选框时复制另一张表格中的行
- python - super() 没有属性父方法
- reactjs - Unable to pass image as prop using {}. Must use <>
- php - Docker-Compose 在 Mac 上而不是 PC 上安装卷文件
- angular - Why I can't add any field in a firestore database with angular?