Reputation: 83
I have a Pandas dataframe with datetime index which gives me 9 decimal points after the second. I only need till ms. How do I get rid of the extra trailing zeroes and round off?
Thanks in advance.I tried
all_data = pd.DataFrame(alldata)
all_data['time'] = pd.to_datetime(all_data['time'],format='%YYYY-%mm-%DD; %H:%M:%S.%.4f')
all_data = all_data.set_index('time')
As suggested by Jezrael:
all_data = pd.DataFrame(alldata)
all_data['time'] = pd.to_datetime(all_data['time']).dt.floor('L')
# all_data['time'] = pd.to_datetime(all_data['time'],format='%H:%M:%SS.SSSS')
all_data = all_data.set_index('time')
Also I tried:
all_data = pd.DataFrame(alldata)
all_data['time'] = pd.to_datetime(all_data['time']).dt.round('L')
# all_data['time'] = pd.to_datetime(all_data['time'],format='%H:%M:%SS.SSSS')
all_data = all_data.set_index('time')
The output is
I want to get rid of these zeroes.
Upvotes: 1
Views: 932
Reputation: 862511
One idea is round values after converting to datetimes:
all_data['time'] = pd.to_datetime(all_data['time']).dt.round('L')
Or you can also use floor:
all_data['time'] = pd.to_datetime(all_data['time']).dt.floor('L')
Upvotes: 1