我在下面显示了hhmm时间的df1。这些值代表文字时间,但格式不正确。例如。 845应该是08:45,1125 = 11:25。熊猫数据框:将整数转换为hh:mm
CU Parameters 31-07-2017 01-08-2017 02-08-2017 03-08-2017
CU0111-039820-L Time of Full Charge 1125 0 1359 1112
CU0111-041796-H Time of Full Charge 1233 0 0 1135
CU0111-046907-0 Time of Full Charge 845 0 1229 1028
CU0111-046933-6 Time of Full Charge 1053 0 0 1120
CU0111-050103-K Time of Full Charge 932 0 1314 1108
CU0111-052525-J Time of Full Charge 1214 1424 1307 1254
CU0111-052534-M Time of Full Charge 944 0 0 1128
CU0111-052727-7 Time of Full Charge 1136 0 1443 1114
我需要所有这些值转换为HH的有效的时间戳:MM,然后制定出这些时间戳的平均值,这还不包括“0”的数值。
CU Parameters 31-07-2017 01-08-2017 02-08-2017 03-08-2017
CU0111-039820-L Time of Full Charge 11:25 0 13:59 11:12
CU0111-041796-H Time of Full Charge 12:33 0 0 11:35
CU0111-046907-0 Time of Full Charge 08:45 0 12:29 10:28
CU0111-046933-6 Time of Full Charge 10:53 0 0 11:20
CU0111-050103-K Time of Full Charge 09:32 0 13:14 11:08
CU0111-052525-J Time of Full Charge 12:14 14:24 13:07 12:54
CU0111-052534-M Time of Full Charge 09:44 0 0 11:28
CU0111-052727-7 Time of Full Charge 11:36 0 14:43 11:14
最终结果:
Average time of charge: hh:hh (excluding 0 values)
Number of no charges: =count(number of 0)
我试图沿着这些线路的东西,都无济于事:
text = df1[col_list].astype(str)
df1[col_list] = text.str[:-2] + ':' + text.str[-2:]
hhmm = df1[col_list]
minutes = (hhmm/100).astype(int) * 60 + hhmm % 100
df[col_list] = pd.to_timedelta(minutes, 'm')
你需要的数量和平均的或新的最后一排新的列? – jezrael