Один из способов - создать объект DateTime
и использовать его для форматирования:
new DateTime(myTimeSpan.Ticks).ToString(myCustomFormat)
// or using String.Format:
String.Format("{0:HHmmss}", new DateTime(myTimeSpan.Ticks))
Так я знаю. Я надеюсь, что кто-то может предложить лучший способ.
Я не уверен, что есть простой способ позаботиться о nan
значениях. Возможно, вам придется создать собственную функцию скалярного произведения для обработки этих значений. Примерно так может работать:
df.apply(lambda x: (x * [1, 0, 0]).sum())
Метод pandas sum
автоматически игнорирует значения nan
, поэтому вам не нужно явно находить значения самостоятельно. Скорее всего, вы замените [1, 0, 0]
ссылкой на какой-то другой массив ваших весов. Я не уверен, как вы организовали это сейчас, чтобы интегрировать его в вышеприведенное предложение.
Если значение NaN во внутреннем продукте должно означать «вес = 0», то перед выполнением вычисления измените ваш фрейм данных следующим образом:
df_without_nans = df.fillna(value=0.0) # 'value' can be dropped
dot_product = df_without_nans.T.dot(w)