检查列表

时间:2018-02-02 10:18:37

标签: python pandas dataframe

我有一个pandas数据帧。我的数据框作为索引

import pandas as pd
df=pd.DataFrame(data=['a','b','c']).T
df.columns='myvar'
df.set_index(['myvar'])

然后我有一些列表包含一些或没有索引值

list_of_interest_1=['b','c','d','z']
list_of_interest_2=['a']
list_of_interest_3=['duck']

我想在我的数据框中添加一些布尔列,用于标记相应的索引值是否在其中一个列表中 在示例中:

df=
   wasinlist1  wasinlist2  wasinlist3
a  False      True         False
b  True       False        False
c  True       False        False

2 个答案:

答案 0 :(得分:2)

isindict comprehension

一起使用
df=pd.DataFrame(['a','b','c'])
df.columns=['myvar']
df = df.set_index(['myvar'])

list_of_interest_1=['b','c','d','z']
list_of_interest_2=['a']
list_of_interest_3=['duck']

d = {'list_of_interest_1':list_of_interest_1, 
    'list_of_interest_2':list_of_interest_2, 
    'list_of_interest_3': list_of_interest_3}

for k, v in d.items():
   df[k] = df.index.isin(v)

df = df.sort_index(axis=1)
print(df)

       list_of_interest_1  list_of_interest_2  list_of_interest_3
myvar                                                            
a                   False                True               False
b                    True               False               False
c                    True               False               False

答案 1 :(得分:1)

这似乎是你想要的:

{
  "context": {
   "date_today": "<? new Date().format('yyyy-MM-dd') ?>",
   "date_yesterday": "<? new Date((new Date().getTime()) - (24*60*60*1000L)).format('yyyy-MM-dd') ?>"
}