Python 覆盖数据帧中相似长度的数据

Python 覆盖数据帧中相似长度的数据,python,dataframe,Python,Dataframe,假设我有这样一个df: 我想在前一天把数据放在w里,后天再放在w里。 所以只想用1929-02-01的数据覆盖w 1929-02-02上的数据。所有其他列应保持原样。它们的长度差不多 我试过这样的方法,但它只会让你觉得不舒服。 这很像是在说。第3行和第4行的B等于第1行和第2行的B 此代码可用于测试。只需要在第一个日期覆盖w的所有值,就可以在第二个日期覆盖w的所有值。使用计数器是因为这只是循环中问题的简化 a = {'PERMNO' : pd.Series(["10006&q

假设我有这样一个df:

我想在前一天把数据放在w里,后天再放在w里。 所以只想用1929-02-01的数据覆盖w 1929-02-02上的数据。所有其他列应保持原样。它们的长度差不多

我试过这样的方法,但它只会让你觉得不舒服。

这很像是在说。第3行和第4行的B等于第1行和第2行的B

此代码可用于测试。只需要在第一个日期覆盖w的所有值,就可以在第二个日期覆盖w的所有值。使用计数器是因为这只是循环中问题的简化

  a = {'PERMNO' : pd.Series(["10006","10007", "10008", "10006","10007", "10008"], index=['1929-02-01', '1929-02-01', '1929-02-01','1929-02-02', '1929-02-02', '1929-02-02']), 
   'w' : pd.Series([0.25, 0.5, 0.25, 0.33,0.33,0.33], index=['1929-02-01', '1929-02-01', '1929-02-01','1929-02-02', '1929-02-02', '1929-02-02']),'counter' : pd.Series([1, 2, 3, 4,5,6], index=['1929-02-01', '1929-02-01', '1929-02-01','1929-02-02', '1929-02-02', '1929-02-02'])}
df= pd.DataFrame(a)
df.reset_index(inplace=True)

如错误消息所示,您可以使用
.loc
对数据帧进行索引

data.loc[(数据[“计数器”]<901)和(数据[“计数器”]>=451),“w”]=change0[“w”]

请将数据显示为可复制文本。我们需要能够复制您的数据,以测试可能的解决方案。我有点不确定如何做到这一点。相当大的数据帧,所以不容易复制。它认为这个问题很简单,但我就是不能管理它。我不需要完整的数据帧!只需复制足够的数据(通常,少于10行中的多行就足够了…)。代码也应该以可复制文本的形式呈现。好的!我将试着使用pd.系列([“10006”、“10007”、“10008”、“10006”、“10007”、“10008”),索引=['1929-02-01”、“1929-02-01”、“1929-02-01”、“1929-02-02”、“1929-02-02”、“1929-02-02”、“1929-02-02”),'w':pd.系列([0.25,0.5,0.25,0.33,0.33],索引=['1929-02-01”、“1929-02-01”、“1929-02-02-02”、“1929-02-02-02-02-02-02”],'df=1929-02框架)df.reset_index(inplace=True)当我这样做时,我在数据帧中只得到N。尝试
change0[“w”]。值
而不是
change0[“w”]
谢谢!!这确实奏效了