簡體   English   中英

如何根據 dataframe 中的條件獲得具有特定值的系列?

[英]How do I get a series with certain values based on a condition in a dataframe?

我有一個 dataframe 有這樣的列:

data = {"col": [1, 3, 2, 0, 4, 2, 5, 0, 1, 3, 0]}
df = pd.DataFrame(data)

Out: 
    col
0     1
1     3
2     2
3     0
4     4
5     2
6     5
7     0
8     1
9     3
10    0

我想獲得一個與該列長度相同的系列,其中列中的數據不等於 0 時為 0,當它如下所示時為 100。 我該如何 go 關於這個?

0       0
1       0
2       0
3     100
4       0
5       0
6       0
7     100
8       0
9       0
10    100

與 0 比較並乘以 100,由於 False/0 和 True/1 等價,這將得到 0/100:

df['col'].eq(0).mul(100)

output:

0       0
1       0
2       0
3     100
4       0
5       0
6       0
7     100
8       0
9       0
10    100
Name: col, dtype: int64

您可以使用 Numpy 來解決這個問題:

import numpy as np
df['col'] = np.where(df['col'] > 0, 0, 100)

注意:如果值大於 0,則返回 0,否則返回 100

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM