Python 熊猫更新不';我什么也不做
我有一个数据框,上面有一些信息。我创建了另一个更大的数据帧,其中包含默认值。我想用第一个数据帧中的值更新默认数据帧。我正在使用df.update,但什么都没有发生。代码如下: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
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共享一些索引,因此这些值应该简单地覆盖其他值?你能重新创建一个简单的例子,类似于我的,但你的数据,这对你不起作用?