2015-10-21 3 views
3

Простой код, как это не будет работать больше на моем питона оболочки:объект DataFrame не имеет атрибута «образец»

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 определенно есть образец функции, и это использовалось для работы. У меня недавно возникли проблемы с установкой и удалением другого дистрибутива python. Я не знаю, может ли это быть связано.

У меня была аналогичная проблема при попытке выполнить скрипт с таким же именем, как и модуль, который я импортировал, здесь это не так, и 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.sample добавляется в 0.16.1, вы можете -

  1. обновить версию до последней pandas, вы можете использовать pip для этого, пример -

    pip install pandas --upgrade 
    
  2. Или, если вы не» t хотите обновить и хотите отбирать несколько строк из фрейма данных, вы также можете использовать random.sample(), пример -

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

Спасибо. Оно работает. Вместо 100 выборок он возвращает 132 в качестве образцов. Всегда возвращает больше образцов, чем указано? В чем может быть проблема? – priya

Смежные вопросы