使用另一个Dataframe的索引替换Dataframe中的行

5
我有两个数据帧 `df` 和 `df_a`,它们的结构完全相同。`df_a` 是从 `df` 中取出并进行操作的一部分行的子集,现在我需要将这些行重新合并到 `df` 中。
下面是每个 `df` 和 `df_a` 的索引示例。它们都具有相同的列结构,所以所有列都是相同的,只有行和行索引不同。
>> df
index  ..  other_columns  ..
0   
1
2
3
. .
9999
10000
10001

[10001 rows x 20 columns]

>> df_a
index  ..  other_columns  ..
5
12
105
712
. .
9824
9901
9997

[782 rows x 20 columns]

因此,我只想覆盖df中具有df_a索引的行,用df_a相应的行替换它们的值。我查看了Replace rows in a Pandas df with rows from another dfreplace rows in a pandas data frame,但这两者都没有说明如何使用另一个数据框的索引来替换行中的值。

2个回答

5

类似于以下内容:

df.loc[df_a.index, :] = df_a[:]

0

我不知道你的意思是什么,如果你想要更具体的解释,需要提供更多信息。但是,如果第一个数据框被修改为一个具有不同索引的新数据框,则可以使用以下代码将索引重置:

import pandas as pd

df_a = pd.DataFrame({'a':[1,2,3,4],'b':[5,4,2,7]}, index=[2,55,62,74])
df_a.reset_index(inplace=True, drop=True)
print(df_a)

PRINTS:
   a  b
0  1  5
1  2  4
2  3  2
3  4  7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接