Python 如何根据网络字符串列表设置多种颜色?

Python 如何根据网络字符串列表设置多种颜色?,python,numpy,Python,Numpy,我正在尝试构建一个网络,其中节点根据它们所属的列表具有不同的颜色。 目前只有一个列表list1,其中的元素是蓝色的,其他元素是绿色的 df['color'] = np.where(df.Var.isin(list1), "blue", "orange") 然而,我有另一个列表list2,它也很重要,我想用一种颜色(红色)来区分它的元素,而其他元素保持橙色。 总而言之,我想要的是: 列表1中的元素为蓝色 列表2中的元素以红色显示 橙色的剩余元素 如何相

我正在尝试构建一个网络,其中节点根据它们所属的列表具有不同的颜色。 目前只有一个列表list1,其中的元素是蓝色的,其他元素是绿色的

df['color'] = np.where(df.Var.isin(list1), "blue", "orange")
然而,我有另一个列表list2,它也很重要,我想用一种颜色(红色)来区分它的元素,而其他元素保持橙色。 总而言之,我想要的是:

  • 列表1中的元素为蓝色
  • 列表2中的元素以红色显示
  • 橙色的剩余元素

如何相应地更改代码?

如果您可以继续使用Pandas,可以使用应用方法。使用apply,您可以使用lambda三元运算符根据
Var
选择颜色

import pandas as pd

d = {'Var':[1,2,3,4,5,6,7,8,9,0]}
lst1 = [1,2,3]  # blue
lst2 = [4,5,6]  # red

df = pd.DataFrame(d)

df['color'] = df['Var'].apply(lambda v : "blue" if v in lst1 else "red" if v in lst2 else "orange")

print(df.to_string(index=False))
输出

Var   color
   1    blue
   2    blue
   3    blue
   4     red
   5     red
   6     red
   7  orange
   8  orange
   9  orange
   0  orange

使用
np。选择

df['color'] = np.select([df.Var.isin(list1), df.Var.isin(list2)], ['blue','red'], 'orange')