How To Find Out Whether It Is Day Or Night Using Timestamp
I want to find out whether it is day or night from the 'timestamp' column in my data frame. The time stamp columns have values as follows: 20:0 , 14:30, 6:15, 5:0, 4:0 etc. I used
Solution 1:
timestamp= ['6:00', '18:00', '18:01', '5:59']
fortimeintimestamp:
hourMin = time.split(":")
hour=int(hourMin[0])
mint =int(hourMin[1])
if hour>=6andhour<=18:
if(hour==18):
if(mint >0):
print("Night\n")
else:
print("Day\n")
else:
print("Day\n")
else:
print("Night\n")
Solution 2:
Convert values to timedeltas with to_timedelta
and compare by Series.between
, then create new column by numpy.where
:
data = pd.DataFrame({
'timestamp' : ['6:00', '18:00', '18:01', '5:59'],
})
mask = (pd.to_timedelta(data['timestamp'] + ':00')
.between(pd.Timedelta('6h'),pd.Timedelta('18h')))
data['new'] = np.where(mask, 'Day', 'Night')
print (data)
timestamp new
06:00 Day
118:00 Day
218:01 Night
35:59 Night
Solution 3:
I'd take the hours part, parse it as int, and check if it's between 6 and 18:
hour = int(x.split(':'))[0]
if hour >= 6and hour < 18:
print('Day')
else:
print('Night')
Post a Comment for "How To Find Out Whether It Is Day Or Night Using Timestamp"