У меня есть панд dataframe (DF) со структурой колонки:Использование LOC для обновления dataframe питона панд
month a b c d
это dataframe имеет данные для скажем Jan, Feb, Mar, Apr. A, B, C, D - числовые столбцы. В течение месяца февраля, я хочу, чтобы пересчитать столбец А и обновлять его в dataframe, т.е. за месяц = Feb, A = B + C + D
код я использовал:
df[df['month']=='Feb']['A']=df[df['month']=='Feb']['B'] + df[df['month']=='Feb']['C'] + df[df['month']=='Feb']['D']
Это создалась без ошибок но не изменил значения в столбце А за месяц Февраль. В консоли было получено сообщение:
Значение, которое нужно установить на копии фрагмента из DataFrame.
Попробуйте использовать .loc [row_indexer, col_indexer] = значение вместо
Я пытался использовать .loc но сейчас dataframe я работаю, я использовал .reset_index()
на него, и я не уверен, как установить индекс и использование .loc. Я следовал документации, но не ясен. Не могли бы вы помочь мне здесь? Это пример dataframe:
import pandas as pd import numpy as np
dates = pd.date_range('1/1/2000', periods=8)
df = pd.DataFrame(np.random.randn(8, 4), index=dates, columns=['A', 'B', 'C', 'D'])
Я хочу обновить сказать одну дату: 2000-01-03. Я не могу предоставить фрагмент моих данных, поскольку это данные в реальном времени.
не могли бы вы приложить небольшой пример вашего фрейма данных? –
@ AntonProtopopov: Dataframe, над которым я работаю, большой, я попытался объяснить здесь логику. Я посмотрю, смогу ли я создать какой-либо файл данных –
, который вы могли бы прикрепить как часть вашего фрейма данных с помощью 'df.head()' или 'df.iloc [: 10,: 10]' –