Python 熊猫更新不';我什么也不做

Python 熊猫更新不';我什么也不做,python,pandas,Python,Pandas,我有一个数据框,上面有一些信息。我创建了另一个更大的数据帧,其中包含默认值。我想用第一个数据帧中的值更新默认数据帧。我正在使用df.update,但什么都没有发生。代码如下: new_df = pd.DataFrame(index=range(25)) new_df['Column1'] = 1 new_df['Column2'] = 2 new_df.update(old_df) 这里,old_df有2行,索引为5,6,在第1列和第2列中有一些随机值,其他什么都没有。我希望这些行会覆盖new

我有一个数据框,上面有一些信息。我创建了另一个更大的数据帧,其中包含默认值。我想用第一个数据帧中的值更新默认数据帧。我正在使用df.update,但什么都没有发生。代码如下:

new_df = pd.DataFrame(index=range(25))
new_df['Column1'] = 1
new_df['Column2'] = 2
new_df.update(old_df)

这里,old_df有2行,索引为5,6,在第1列和第2列中有一些随机值,其他什么都没有。我希望这些行会覆盖new_df中的默认值,我做错了什么?

这对我很有效,所以我假设问题出在您没有向我们展示的代码部分

将熊猫作为pd导入
将numpy作为np导入
新的数据帧(索引=范围(25))
old_df=pd.DataFrame(索引=[5,6])
新的_df['Column1']=1
新的_df['Column2']=2
old_df['Column1']=np.nan
old_df['Column2']=np.nan
老东东位置[5,'Column1']=9
老东东位置[6,'Column2']=7
新测向更新(旧测向)
打印(新的测向头(10))
输出:

   Column1  Column2
0      1.0      2.0
1      1.0      2.0
2      1.0      2.0
3      1.0      2.0
4      1.0      2.0
5      9.0      2.0
6      1.0      7.0
7      1.0      2.0
8      1.0      2.0
9      1.0      2.0


由于您没有向我们提供如何构造/获取旧的_df,因此在执行更新之前,请确保两个索引的类型相同

new_df.index=new_df.index.astype('int64'))
old_df.index=old_df.index.astype('int64'))

一个int不等于一个字符串
1!='1'
。因此,update()在您的数据帧中找不到公用行,因此无需执行任何操作。

您可以发布旧的\u df吗?如果您希望返回任何内容,它将不会返回,因为更新是一个就地操作,它不会返回任何内容。更新后是否检查了新的_df?确保列名称相同。代码与逻辑相同。区别在于数据帧的内容。我不认为这会有什么不同,但是当我检查两个数据帧的列名时,所有列名都返回True。除此之外,重叠的df与其他df共享一些索引,因此这些值应该简单地覆盖其他值?你能重新创建一个简单的例子,类似于我的,但你的数据,这对你不起作用?