【发布时间】:2018-04-16 01:29:57
【问题描述】:
我有一个 Pandas 数据框,其中有一列 (ip) 具有某些值,另一个 Pandas 系列不在此 DataFrame 中,其中包含这些值的集合。如果给定行在我的 Pandas 系列 (black_ip) 中有其 ip,我想在 DataFrame 中创建一个列。
import pandas as pd
dict = {'ip': {0: 103022, 1: 114221, 2: 47902, 3: 23550, 4: 84644}, 'os': {0: 23, 1: 19, 2: 17, 3: 13, 4: 19}}
df = pd.DataFrame(dict)
df
ip os
0 103022 23
1 114221 19
2 47902 17
3 23550 13
4 84644 19
blacklist = pd.Series([103022, 23550])
blacklist
0 103022
1 23550
我的问题是:如何在df 中创建一个新列,这样当给定的ip 在黑名单中时显示为 1,否则显示为零?
对不起,如果这太愚蠢了,我还是编程新手。提前非常感谢!
【问题讨论】:
-
blacklist值的明显长度是多少? -
它比 DataFrame 小很多。
标签: python python-3.x pandas dataframe