sách gpt4 ai đã đi

Sự cố khi np.where() tạo cột mới trong Pandas (có thể là sự cố NaN?)

In lại 作者:行者123 更新时间:2023-11-30 22:15:50 27 4
mua khóa gpt4 Nike

我有一个包含 2 列的数据框,我想根据两列之间的比较创建第三列。

所以逻辑是:第 1 列 val = 3,第 2 列 val = 4,因此新列值什么都没有

第 1 列 val = 3,第 2 列 val = 2,因此新列为 3

这与之前提出的问题非常相似,但使用 np.where() 的答案对我不起作用

这是我尝试过的:

FinalDF['c'] = np.where(FinalDF['a']>FinalDF['b'],[FinalDF['a'],""])

在那次失败之后,我试图看看它是否不喜欢我给它的 [x,y],所以我尝试了:

FinalDF['c'] = np.where(FinalDF['a']>FinalDF['b'],[1,0])

结果总是:

ValueError: either both or neither of x and y should be given

编辑:我还删除了 [x,y],看看会发生什么,因为 vấn đề 说它是可选的。但我仍然收到错误:

ValueError: Length of values does not match length of index

这很奇怪,因为它们位于同一个数据框中,尽管一列确实有一些 Nan 值。

我认为我不能 tài liệu 因为我这里有条件。我已链接到之前的问题,以便读者可以在以后的问题中引用它们。

感谢您的帮助。

1 Câu trả lời

我认为这应该有效:

FinalDF['c'] = np.where(FinalDF['a']>FinalDF['b'], FinalDF['a'],"")

Ví dụ:

FinalDF = pd.DataFrame({'a':[4,2,4,5,5,4],
'b':[4,3,2,2,2,4],
})
print FinalDF
a b
0 4 4
1 2 3
2 4 2
3 5 2
4 5 2
5 4 4

Đầu ra:

   a b c
0 4 4
1 2 3
2 4 2 4
3 5 2 5
4 5 2 5
5 4 4

或者如果b列必须具有比Một列更大的值,请使用:

FinalDF['c'] = np.where(FinalDF['a']

Đầu ra:

   a b c
0 4 4
1 2 3 3
2 4 2
3 5 2
4 5 2
5 4 4

关于python - 在 Pandas 中创建新列的 np.where() 问题(可能是 NaN 问题?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50170744/

27 4 0
Bài viết được đề xuất: python - 跳过等待网站计时器 selenium Python
Bài viết được đề xuất: python - 无法在 PyCharm 中导入 tensorflow
Bài viết được đề xuất: Python itertools groupby 在列表理解中的多次使用
Bài viết được đề xuất: Python-验证生成的幂集
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com