【问题标题】:Reassigning dataframe rows or variables with iloc returns NaN使用 iloc 重新分配数据帧行或变量返回 NaN
【发布时间】:2019-10-20 05:36:39
【问题描述】:

我有一个部分完整的“数据框 A”;有些行缺少数据。丢失的数据可以在另一个“数据框 B”(具有相同的标签,但不是位置)的行上找到。

当我尝试重新分配数据框 A 的行时,python 为我尝试重新分配的所有行返回 NaN。

我尝试过: 国际劳工组织 iloc 指定列 使列名匹配后的 iloc 深拷贝上的 iloc 将目标列转换为不同的数据类型,例如字符串,浮点数

第一次尝试,在 A1:A2 行的所有列中返回带有 NaN 的 dfA

dfA.iloc[A1:A2] = dfB.iloc[B1:B2]

第二次尝试,在 A1:A2 行的第 2 列返回带有 NaN 的 dfA

dfA.iloc[A1:A2, 2] = dfB.iloc[B1:B2, 2]

第三次尝试,同样的问题

dfA_copy = copy.deepcopy(dfA)
dfA_copy.iloc[A1:A2]

dfA_copy rows A1:A2

dfB_copy = copy.deepcopy(dfB)
dfB_copy.iloc[B1:B2]

dfB_copy rows B1:B2

dfA_copy.iloc[A1:A2] = dfB_copy.iloc[B1:B2] 

deep copy reassignment

我希望“数据框 B”中的数据替换“数据框 A”中缺失的数据。

【问题讨论】:

  • 是否有任何关键列可以加入数据,然后将 dfA 中的列设置为您需要的 dfB 中的列?
  • 好主意,马上尝试更新。谢谢

标签: python pandas dataframe variable-assignment


【解决方案1】:

如果你有两个相同形状的熊猫数据框,那么你可以做这样的事情

dfA[dfA.isnull()] = dfB

如果这解决了您的问题,请接受答案。

【讨论】:

  • 谢谢,但是它们的大小不一样。 dfB 仅包含 dfA 缺失的数据。 dfA 也包含其他信息
  • 你能用示例输入和输出更新你的问题吗?
猜你喜欢
  • 2019-09-11
  • 2017-09-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 2014-08-03
  • 1970-01-01
  • 2018-08-26
相关资源
最近更新 更多