【发布时间】:2017-11-20 12:51:18
【问题描述】:
我正在尝试计算数据框中每个数字的百分位数,并将其添加到一个名为“百分位数”的新列中。
这是我的尝试:
import pandas as pd
from scipy import stats
data = {'symbol':'FB','date':['2012-05-18','2012-05-21','2012-05-22','2012-05-23'],'close':[38.23,34.03,31.00,32.00]}
df = pd.DataFrame(data)
close = df['close']
for i in df:
df['percentile'] = stats.percentileofscore(close,df['close'])
该列未填充,结果为“NaN”。这应该很容易,但我不确定我哪里出错了。
提前感谢您的帮助。
【问题讨论】:
-
无需循环访问
for i in df。看到这个答案stackoverflow.com/a/44607827/1870832 -
你应该知道 Pandas 中的广播。看到这个broadcast。
标签: python pandas percentile