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