我有一个数据框名称'df',我在代码下运行...
df['Station'].value_counts()
我的输出将是:
Station 308A - 3955
Station 329 - 3905
Station 313 - 2963
.....................
Station 381 - 2383
名称:工作站,dtype:int64
现在我想在计数图中绘制该图:
sns.countplot(x= "Station", data=df['Station'].value_counts().head(30), palette="bright")
给我错误!!!
因为我只能在数据data=df
中传递数据帧
所以我的问题是我希望将此行df ['Station']。value_counts()输出为新数据框
以便我可以直接将其作为sns(data=new_df)
答案 0 :(得分:1)
您可以使用order
和value_counts
通过参数index
过滤最高值:
np.random.seed(34345)
df = pd.DataFrame({'Station':np.random.randint(100, size=1000)}).astype(str).radd('station')
print (df.head())
Station
0 station28
1 station48
2 station48
3 station61
4 station30
N = 5
sns.countplot(x='Station',
data=df,
palette="bright",
order=df['Station'].value_counts().index[:N])
答案 1 :(得分:0)
您还可以使用 (suffix === 'Cost') &&
state.update(`${poolName}`,
items => ({
...items,
[`${poolName}Share`]: (val / initialCost) * initialShare,
//...similarly for other sibling property of `Share` in `poolName`...//
})
)
创建新的数据框,但是应该是count_values()
而不是sns.countplot()
:
sns.barplot()