2015-10-21 57 views
3

像这样简单的代码不会对我的Python壳工作了:数据框对象有没有属性“样品”

import pandas as pd 
df=pd.read_csv("K:/01. Personal/04. Models/10. Location/output.csv",index_col=None) 
df.sample(3000) 

我得到的错误是:

AttributeError: 'DataFrame' object has no attribute 'sample' 

DataFrames肯定有一个样本功能,并且这用于工作。 我最近遇到了一些麻烦安装和卸载,然后蟒蛇的另一分布。我不知道这可能是相关的。

我以前有一个类似的问题,当试图执行一个脚本,它与我导入的模块具有相同的名称时,这里不是这种情况,并且pandas.read_csv实际上正在工作。

这是什么原因?

+0

什么是熊猫版本?使用'pd .__ version__'进行检查。 –

+0

的版本是0.14.1 –

+0

你说的没错,在0.16.1加入样品。自从此前工作之后,我一定会无意中降级了我的熊猫。谢谢。 –

回答

6

如在给定的documentation of DataFrame.sample -

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)

返回从对象的轴项的随机样本。

新的0.16.1版本。

(Emphasis mine)。

DataFrame.sample0.16.1加入,你可以 -

  1. 升级pandas版本最新,您可以使用pip的是,在示例 -

    pip install pandas --upgrade 
    
  2. 或者,如果你不”不想升级,并希望从数据框品尝几行,你也可以使用random.sample(),示例 -

    import random 
    num = 100 #number of samples 
    sampleddata = df.loc[random.sample(list(df.index),num)] 
    
+0

谢谢。有用。采样数据返回132,而不是100个采样。总是返回比指定更多的样品数量?可能是什么问题呢? – priya