PCT改变公式

时间:2016-12-05 21:15:56

标签: python pandas

python的新手,我一直在做一些练习,我不明白这行代码是如何工作的,为什么会有效。

它取一个单元格/行中的每个值并将其除以起始值,为什么?

非常感谢:)

PS这正是我需要的,我只是不理解它背后的过程(我知道.pct_change()

df['num2'] = (df['num2'] - df['num2'][0]) / df['num2'][0] * 100.0

这是整个代码

import pandas as pd

dates = pd.date_range('2010-01-01', periods = 7)
df = pd.DataFrame(dates)

nums = {'num2' : [1,2,4,8,16,32,64]}
df2 = pd.DataFrame(nums)

df = df.join(df2, how = 'left')

df.rename(columns = {0 : 'Dates'}, inplace = True)
df = df.set_index('Dates')

#df = df.pct_change()
df['num2'] = (df['num2'] - df['num2'][0]) / df['num2'][0] * 100.0

df.plot()

print (df)

2 个答案:

答案 0 :(得分:1)

这些值是时间相关变量的出现。您的代码似乎会计算增长率。如下

growth_rate = (what_it_is - what_it_was)/what_it_was

某些不是真的"清洁"是因为它改变了这些增长率所包含的原始dict值,这意味着这样做会导致信息丢失。

为了给你一个想法,做了什么(即使以下内容不是python-语法正确

([1,2,4,8,16,32,64] - 1)/1

答案 1 :(得分:0)

df['num2'] = df['num2'][1:]/df['num2'][:-1].values-1