我构建了这个数据框:
import pandas as pd
from pandas.compat import StringIO
temp = '''A,B
A,23:59:32.897000
B,17:36:09.182000
C,21:56:57.325000
D,06:16:24.482000'''
df = pd.read_csv(StringIO(temp))
df['B'] = pd.to_datetime(df['B']).dt.time
所以我想知道是否有可能在30分钟的时间间隔内缩小输出时间:
A,B
A,23:30:00.000000
B,17:30:00.000000
C,21:30:00.000000
D,06:00:00.000000
感谢任何帮助。
答案 0 :(得分:5)
df['B'] = pd.to_datetime(df['B']).dt.floor('30T').dt.time
print (df)
A B
0 A 23:30:00
1 B 17:30:00
2 C 21:30:00
3 D 06:00:00
它也适用于timedeltas:
df['B'] = pd.to_timedelta(df['B']).dt.floor('30T')
print (df)
A B
0 A 23:30:00
1 B 17:30:00
2 C 21:30:00
3 D 06:00:00
print (df.dtypes)
A object
B timedelta64[ns]
dtype: object