我有一个带有列结构的熊猫数据框(df):
month a b c d
该数据框包含一月、二月、三月、四月的数据。A、B、C、D 是数字列。对于二月份,我想重新计算列 A 并在数据框中更新它,即月份 = 二月,A = B + C + D
我使用的代码:
df[df['month']=='Feb']['A']=df[df['month']=='Feb']['B'] + df[df['month']=='Feb']['C'] + df[df['month']=='Feb']['D']
这运行没有错误,但没有更改 2 月 A 列中的值。在控制台中,它给出了一条消息:
试图在 DataFrame 中的切片副本上设置一个值。
尝试改用 .loc[row_indexer,col_indexer] = value
我尝试使用 .loc,但现在我正在处理的数据框,我已经使用.reset_index()
过它,我不确定如何设置索引和使用 .loc。我遵循了文档但不清楚。你能帮帮我吗?这是一个示例数据框:
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。我无法提供我的数据片段,因为它是实时数据。