mat*_*hew 2 python binary numpy pandas
我有一个pandas数据框,想要添加一个新列.对于'number'中小于15的所有值,我想添加1,对于所有更大的值,0.我尝试了不同的方法,但我没有收到所需的结果.特别是,因为我有问题结构体.这是我想做的事情:
number binary
12 1
89 0
12 1
56 0
62 0
2 1
657 0
5 1
73 0
Run Code Online (Sandbox Code Playgroud)
Zer*_*ero 10
In [6]: (df['number'] < 15).astype(int)
Out[6]:
0 1
1 0
2 1
3 0
4 0
5 1
6 0
7 1
8 0
Name: number, dtype: int32
In [7]: df['binary'] = (df['number'] < 15).astype(int)
In [8]: df
Out[8]:
number binary
0 12 1
1 89 0
2 12 1
3 56 0
4 62 0
5 2 1
6 657 0
7 5 1
8 73 0
Run Code Online (Sandbox Code Playgroud)
您可以将其转换为布尔值,然后乘以 1。
import pandas as pd
df = pd.DataFrame({'number': [12, 89, 12, 56, 62, 2, 657, 5, 73]})
df['binary'] = (df.number < 15)*1
Run Code Online (Sandbox Code Playgroud)