2 回答

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
我認(rèn)為您可能忽略了組合偏移量別名。
四舍五入100L
應(yīng)該在您的情況下給出正確的答案。100L
將使用 100 毫秒(或 0.1 秒)的仲裁進(jìn)行舍入,這正是您在這種情況下所需要的。您正在使用1L
,這已經(jīng)是數(shù)據(jù)框中的默認(rèn)值。
df = pd.DataFrame({
? ? 'time' : ['2019-08-02 09:50:10.040','2019-08-02 09:50:10.080','2019-08-02 09:50:10.170','2019-08-02 09:50:10.180'],? ? ? ? ? ? ? ? ??
? ? ? ? })
df['time'] = pd.to_datetime(df['time'])
df['time'] = df.time.dt.round('100L')
輸出是:
0? ?2019-08-02 09:50:10.000
1? ?2019-08-02 09:50:10.100
2? ?2019-08-02 09:50:10.200
3? ?2019-08-02 09:50:10.200
額外的零不能被截?cái)?,但在?jì)算方面,您將獲得預(yù)期的結(jié)果。

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
一種解決方案是:
df["time"] = df.time.dt.round("100ms")
輸出
time
0 2019-08-02 09:50:10.000
1 2019-08-02 09:50:10.100
2 2019-08-02 09:50:10.200
3 2019-08-02 09:50:10.200
以下是所有有效字符串:
'A': 'A-DEC',
'AS': 'AS-JAN',
'BA': 'BA-DEC',
'BAS': 'BAS-JAN',
'BY': 'BA-DEC',
'BYS': 'BAS-JAN',
'Min': 'T',
'Q': 'Q-DEC',
'W': 'W-SUN',
'Y': 'A-DEC',
'YS': 'AS-JAN',
'min': 'T',
'ms': 'L',
'ns': 'N',
'us': 'U',
添加回答
舉報(bào)