假设这是我的国防部长:
Team Win_pct_1 Win_pct_2
0 Memphis 0.6 0.5
1 Miami 0.4 0.6
2 Phoenix 0.7 0.4
3 Dallas 0.6 0.3
4 Boston 0.4 0.1
我创建了一个团队列表,例如:
list = ['Miami','Dallas']
1)然后我想根据该列表向df添加一列。如果df['Team']
在列表中,新列将显示1,否则显示0。最后我会得到这样的结果:
Team Win_pct_1 Win_pct_2 New_column
0 Memphis 0.6 0.5 0
1 Miami 0.4 0.6 1
2 Phoenix 0.7 0.4 0
3 Dallas 0.6 0.3 1
4 Boston 0.4 0.1 0
我在考虑使用for index, row in df.iterrows():
或if df.Team.isin(list)
,但我不知道如何让它工作。你知道吗
2)添加新列后,我想创建一个relplot:
sns.relplot(data=df,
x='Win_pct_1',
y='Win_pct_2',
hue='New_column')
我想知道是否有一种快速的方法可以根据我的列表向这样的图添加注释(可以是一个右点上方的简单注释,没有箭头),或者在Python中是不可能的(在R中这很容易),我必须这样做
根据需要创建尽可能多的plt.annotate
。你知道吗
以下是注释:
输出:
更新:
仅适用于列表中选定的团队:
输出:
注意:
有关如何在数据帧中执行
in/not in
的详细信息,请参见How to implement 'in' and 'not in' for Pandas dataframe对于第一个问题,可以使用带
np.where
和isin
的三元数:另一种选择:
相关问题 更多 >
编程相关推荐