#python #python-3.x #pandas #dataframe
#python #python-3.x #панды #фрейм данных
Вопрос:
Это столбец времени чипа в фрейме данных
Я использовал приведенный ниже код, чтобы преобразовать все за считанные минуты, но я получаю сообщение об ошибке:
time_list = df7[' Chip Time'].to_list()
time_mins = []
for i in time_list:
# used strip to remove trailing space
i = i.strip(' ')
m, s = i.split(':')
math = (int(m)*60 int(s))/60
time_mins.append(math)
df7['Runner_mins'] = time_mins
df7.head()
Ошибка:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-52-7afde4a258f4> in <module>
6 for i in time_list:
7 i = i.strip(' ')
----> 8 m, s = i.split(':')
9 math = (int(m)*60 int(s))/60
10 time_mins.append(math)
ValueError: too many values to unpack (expected 2)
Ожидаемый результат:
Может кто-нибудь сказать мне, в чем ошибка?
Комментарии:
1. Вероятно, i — это более 2 записей, когда вы разбиваете его на строке 8, поэтому его нельзя распаковать только на «m, s». Попробуйте присвоить i.split(‘:’) другой переменной и распечатать ее.
2. @samm82 значение i равно 36:21, я хочу разделить его и сохранить в m = 36, s = 21 и вычислить операцию, результат должен быть 36.350000, как показано в ожидаемом выходе.
3. @samm82 когда я попытался разделить и распечатать m, s, используя ту же строку кода m, s = i.split(‘:’) , он печатается правильно. Но когда я запускаю всю программу, я получаю сообщение об ошибке.
4. Могу ли я спросить, почему вы просто не используете pandas.to_datetime() . затем используйте .dt. accessor для ряда, чтобы получить доступ к минутам и секундам в качестве атрибутов ряда?