![](/img/trans.png)
[英]How do I remove rows of a Pandas DataFrame based on a certain condition?
[英]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.