#python #pandas #series
#python #pandas #Серии
Вопрос:
Я использую пример pandas, чтобы делать то, что я хочу делать:
>>> s = pd.Series([90, 91, 85])
>>> s
0 90
1 91
2 85
dtype: int64
затем pct_change()
применяется к этой серии:
>>> s.pct_change()
0 NaN
1 0.011111
2 -0.065934
dtype: float64
хорошо, справедливо, но Percentage Increase = [ (Final Value - Starting Value) / |Starting Value| ] × 100
таким образом, результаты должны быть на самом деле [NaN, 1.11111%, -6.59341%]
. как бы я получил эту *100
часть, которая pct_change()
не выполнялась для меня?
Комментарии:
1.
print(s.pct_change()*100)
Ответ №1:
Вы можете просто умножить результат на 100
, чтобы получить то, что вы хотите:
In [712]: s.pct_change().mul(100)
Out[712]:
0 NaN
1 1.111111
2 -6.593407
dtype: float64
Если вы хотите, чтобы результат был одним list
из этих значений, сделайте это:
In [714]: l = s.pct_change().mul(100).tolist()
In [715]: l
Out[715]: [nan, 1.1111111111111072, -6.593406593406592]
Ответ №2:
Попробуйте объединить функции:
.pct_change().multiply(100)
после желаемой операции df. Вы могли бы объединить больше функций до или после.