#python #pandas #dataframe
#python #pandas #dataframe
Вопрос:
Я использую google colab, все обновлено и по-прежнему получаю эту ошибку TypeError: drop () получил неожиданный аргумент ключевого слова ‘axis’. Что я делаю не так? Ошибка исходит из последних двух строк кода. Если я получаю свои данные, используя pandas dataframe из массива, он работает нормально. Вот вывод ошибки.
import numpy as np
import pandas as pd
import io
from google.colab import files
uploaded = files.upload()
admissions = pd.read_csv(io.BytesIO(uploaded['student_data.csv']))
# Make Dummy variables for rank
data = pd.concat([admissions, pd.get_dummies(admissions['rank'], prefix='rank')], axis=1)
# Drop the column in which the dummy variables was created from
data.pop('rank')
# Standardize features
for field in ['gre', 'gpa']:
# get the mean and standard deviations
mean, std = data[field].mean(), data[field].std()
# get the ...
data.loc[:,field] = (data[field] -mean) / std
# split the random 10% of the data for testing
np.random.seed(42)
# takes away 90% data, test_data = data.index[sample], data.drop(sample) # removes the 90% and stores the remaining 10% into test_data
sample = np.random.choice(data.index, size=int(len(data)*0.9), replace=False)
# Split into features and targets
features, targets = data.drop('admit', axis=1), data['admit'] # takes the admit column away and store the remaining in the features and the # admin in the targets
features_test, targets_test = test_data.drop('admit', axis=1), test_data['admit']
Вот вывод ошибки
TypeError Traceback (most recent call last)
<ipython-input-1-9293df238858> in <module>()
31
32 # Split into features and targets
---> 33 features, targets = data.drop('admit', axis=1), data['admit'] # takes the admit column away and store the remaining in the features and the # admin in the targets
34 features_test, targets_test = test_data.drop('admit', axis=1), test_data['admit']
TypeError: drop() got an unexpected keyword argument 'axis'
Комментарии:
1. Можете ли вы проверить
type(data)
перед вызовомdrop
иpd.__version__
. Я не могу воспроизвести вашу ошибку ни в одной из последних версий pandas. Дажеpd.Series.drop
принимаетaxis
ключевое слово.2. Тип данных <class ‘pandas.core.frame . DataFrame’>
3. Добро пожаловать в SO. Это
pandas
вопрос, и он не имеет ничего общего сmachine-learning
илиdeep-learning
— пожалуйста, используйте соответствующие теги, а не нерелевантные (отредактированные).
Ответ №1:
Не могли бы вы попробовать эту альтернативу?
data.drop(columns=['admit'])
В общем, это должно возвращать то же самое, что и у вас. Но время от времени, когда я получал одни и те же ошибки, это работает.
Комментарии:
1. Это не сработало. Это привело к аналогичной ошибке. TypeError: drop() получил неожиданный аргумент ключевого слова ‘columns’
Ответ №2:
Я пытаюсь воспроизвести ваш код таким образом в Colab:
import pandas as pd
import numpy as np
admissions = pd.DataFrame({"gre": [5,6,5,1,21,5,8],
"gpa": [1,2,2,2,3,1,4],
"rank": ['a','a','b','c','a','b','a'],
"admit": [0,1,1,1,0,1,1]})
test_data = pd.DataFrame({"gre": [5,6,5],
"gpa": [3,1,4],
"rank": ['a','b','a'],
"admit": [0,1,1]})
Затем скопируйте свой код от # Make Dummy variables for rank
начала до конца. Это не приводит к ошибке. Я бы посоветовал вам добавить print(data.head())
перед тем # Split into features and targets
, как посмотреть, как это data
выглядит. В моем случае этот код
print(data)
# Split into features and targets
features, targets = data.drop('admit', axis=1), data['admit'] # takes the admit column away and store the remaining in the features and the # admin in the targets
features_test, targets_test = test_data.drop('admit', axis=1), test_data['admit']
print(features)
print(targets)
выдает результат, подобный этому:
gre gpa admit rank_a rank_b rank_c
0 -0.357384 -1.069045 0 1 0 0
1 -0.201028 -0.133631 1 1 0 0
2 -0.357384 -0.133631 1 0 1 0
3 -0.982806 -0.133631 1 0 0 1
4 2.144304 0.801784 0 1 0 0
5 -0.357384 -1.069045 1 0 1 0
6 0.111682 1.737198 1 1 0 0
gre gpa rank_a rank_b rank_c
0 -0.357384 -1.069045 1 0 0
1 -0.201028 -0.133631 1 0 0
2 -0.357384 -0.133631 0 1 0
3 -0.982806 -0.133631 0 0 1
4 2.144304 0.801784 1 0 0
5 -0.357384 -1.069045 0 1 0
6 0.111682 1.737198 1 0 0
0 0
1 1
2 1
3 1
4 0
5 1
6 1