Nano Hash - криптовалюты, майнинг, программирование

Pandas Попробуйте вместо этого использовать .loc[row_indexer,col_indexer] = value

Вот пример, который у меня есть

data = {'Team': ['Riders', 'Riders', 'Devils', 'Devils', 'Kings',
         'kings', 'Kings', 'Kings', 'Riders', 'Royals', 'Royals', 'Riders'],
         'Rank': [1, 2, 2, 3, 3,4 ,1 ,1,2 , 4,1,2],
         'Year': [2014,2015,2014,2015,2014,2015,2016,2017,2016,2014,2015,2017],
         'Points':[876,789,863,673,741,812,756,788,694,701,804,690]}
data = pd.DataFrame(data)
data.head()

Я получаю предупреждение от библиотеки pandas, когда делаю это

from sklearn.model_selection import train_test_split
train_new, val_new = train_test_split(data, test_size=0.2)

col = 'Team'
means = data.groupby(col)['Points'].mean()
train_new[col + '_mean_target'] = train_new[col].map(means)
train_new.head()

Это предупреждение

SettingWithCopyWarning: попытка установить значение для копии фрагмента из DataFrame. Попробуйте вместо этого использовать .loc[row_indexer,col_indexer] = value

И когда я использую .loc

col = 'Team'
means = data.groupby(col)['Points'].mean()
train_new.loc[:,col + '_mean_target'] = train_new.loc[:,col].map(means)
train_new.head()

он показывает точно такое же предупреждение, так что же не так с кодом?

15.07.2018

  • Я в замешательстве, данные, которые вы разместили, не совпадают. Это даже синтаксически неправильно. Что ты имеешь в виду? 15.07.2018
  • Это синтаксически правильно, но, возможно, мне следует опубликовать меньший пример. 15.07.2018
  • Клянусь, я столкнулся с этой проблемой до того, как использовал почти такой же точный код, поэтому обычно просто игнорирую ее. В настоящее время я ищу решение, потому что я устал его видеть. Я сообщу, если я найду что-нибудь, что работает. 17.07.2018

Ответы:


1

другой способ — отключить связанные назначения, которые работают с вашим кодом без необходимости создавать копию:

# disable chained assignments
pd.options.mode.chained_assignment = None

Это ответ на эту связанную проблему (не сказал бы, что это дублирующий вопрос) - Pandas DataFrame: SettingWithCopyWarning: попытка установить значение для копии фрагмента из DataFrame

16.07.2018
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..