这是一个使用altair的简单图解:

import altair as alt
import pandas as pd

df = pd.DataFrame([['a',2],['a',3],['b',4],['b',5],['b',4],['c',8]], columns=['Letters', 'Numbers'])


我正在为每个字母绘制count():所以a:2b:3c:1

chart = alt.Chart(df).mark_bar().encode(
   alt.X('Letters:N', sort=alt.EncodingSortField(op='count', order='descending')),
   alt.Y('count():Q'))


python - 在Altair中设置count()截止时间?-LMLPHP

我该如何过滤数据,例如count()必须> = 2,以便仅绘制ab?我知道如何使用pandas做到这一点,但是我想一步一步地使用altair做到这一点。

最佳答案

您可以使用聚合转换,然后进行过滤器转换来完成此操作:

alt.Chart(df).transform_aggregate(
    count='count()',
    groupby=['Letters']
).transform_filter(
    'datum.count >= 2'
).mark_bar().encode(
   alt.X('Letters:N', sort=alt.EncodingSortField(op='count', order='descending')),
   alt.Y('count:Q')
)


python - 在Altair中设置count()截止时间?-LMLPHP

关于python - 在Altair中设置count()截止时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54541541/

10-12 19:03