gpt4 book ai didi

pandas - 根据另一个数据框python pandas替换列值? (初学者)

转载 作者:行者123 更新时间:2023-12-04 08:35:46 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Python Pandas update a dataframe value from another dataframe

(10 个回答)


1年前关闭。




我有 2 个数据框。
在 df1 中,我有很多 NaN,我想用 df2 中的值替换它们。 df2 中值的数量与 df1 中的 NaN 数量相同。
我曾尝试加入、合并和创建循环,但没有成功。
提前致谢!

pd.Dataframe 1
0 NaN
1 240.0
2 229.0
3 1084.0
4 2078.0
....
Name: Healthcare_1, Length: 9999, dtype: float64

pd.Dataframe 2
0 830.0
6 100.0
7 100.0
8 830.0
9 1046.0
...
Name: Healthcare_1, Length: 4797, dtype: float64

最佳答案

在我的回答中,我假设 DataFrame1 中出现 NAN 的行与 DataFrame2 中需要替换这些 NAN 的行具有相同的索引。
加载以下模块:

import pandas as pd
import numpy as np
我们有两个示例 DataFrame:
df1 = pd.DataFrame({'c1': [np.nan, 240, np.nan, 1084, 2078]})
df2 = pd.DataFrame({'c1': [830, 100, 100, 830, 1046]}, index=[0,2,7,8,9])
确定 df1 中出现 NAN 的索引:
ind = list(np.where(df1['c1'].isnull()))[0]
检查这些索引在 df2 中出现的位置。这应该给出数组([ True, True, False, False, False]):
df2.index.isin(list(ind))
将 df1 中的值替换为索引 ind 处 df2 中的值:
df1[df1.index.isin(ind)] = df2[df2.index.isin(ind)]
enter image description here

关于pandas - 根据另一个数据框python pandas替换列值? (初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64810922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com