【发布时间】:2022-08-18 08:35:36
【问题描述】:
我有这个简单的功能,有 2 列。我要做的是检查哪个组有多个 nan 并将其更改为新的所需值。 这是一个代码sn-p:
def twod_array():
data = {\"group\": [-1, 0, 1, 2, 3],
\'numbers\': [[2], [14, 15], [16, 17], [19, 20, 21], [np.nan]],
}
df = pd.DataFrame(data=data)
new_group_number = 100
df.loc[4, \"group\"] = new_group_number
return df
前: 这就是数据的样子,您可以假设数字已排序。
group numbers
0 -1 [2]
1 0 [14, 15]
2 1 [16, 17]
3 2 [19, 20, 21]
4 3 [nan]
在我的示例中,我知道 nan 的位置,因为它位于第 4 位,我可以使用 loc 将其更改为 100,如下所示:
group numbers
0 -1 [2]
1 0 [14, 15]
2 1 [16, 17]
3 2 [19, 20, 21]
4 100 [nan]
如果我不知道nan在哪里怎么办?我怎么知道要更新哪个组?我想到的都是嵌套的 for 循环,我宁愿避免......这里有什么建议吗?
标签: python pandas numpy multidimensional-array nan