Altair distinct and count 不绘制预期值
Altair distinct and count not plotting expected value
我正在尝试在 y 轴上绘制包含字符串的列中的唯一值的数量,如下所示:
alt.Chart(as_df).mark_bar(color='firebrick').encode(
alt.X('TimeUTC:T', title='Day',axis=alt.AxisConfig(labelAngle=45)),
alt.Y('distinct(FlightID)', type='nominal', title='Number of flights')
)
我的数据是这样的形式:
TimeUTC
FlightID
Latitude
Longitude
2021-01-01 06:05:00.079745+00:00
2021-01-01 06:05:00+00:00
a706014b-02d0-424a-a346-2bd25ffa8e08
42.3323
2021-01-01 06:05:00.291337+00:00
2021-01-01 06:05:00+00:00
d2e2bd67-c95a-426d-9357-a717d6c9124d
42.3434
2021-01-01 06:06:00.131817+00:00
2021-01-01 06:06:00+00:00
a706014b-02d0-424a-a346-2bd25ffa8e08
42.3323
2021-01-01 06:06:00.219178+00:00
2021-01-01 06:06:00+00:00
d2e2bd67-c95a-426d-9357-a717d6c9124d
42.3434
结果是这个图表:
如果我计算 2 月 9 日唯一 FlightID 的数量,我得到:
foo = as_df['20210209':'20210209']
foo.FlightID.nunique()
58
为什么图表显示唯一 FlightID 的最大数量为 12 而至少有一天是 58?
python:3.9.7
牵牛星:4.1.0
在图表中,您按时间戳对 x 轴进行分组,而在 pandas 聚合中,您按日期对数据进行分组(即去除小时和分钟)。
如果您想在图表中按日期对 x 轴进行分组,您可以这样做:
alt.Chart(as_df).mark_bar(color='firebrick').encode(
alt.X('yearmonthdate(TimeUTC):T', title='Day',axis=alt.AxisConfig(labelAngle=45)),
alt.Y('distinct(FlightID)', type='nominal', title='Number of flights')
)
我正在尝试在 y 轴上绘制包含字符串的列中的唯一值的数量,如下所示:
alt.Chart(as_df).mark_bar(color='firebrick').encode(
alt.X('TimeUTC:T', title='Day',axis=alt.AxisConfig(labelAngle=45)),
alt.Y('distinct(FlightID)', type='nominal', title='Number of flights')
)
我的数据是这样的形式:
TimeUTC | FlightID | Latitude | Longitude |
---|---|---|---|
2021-01-01 06:05:00.079745+00:00 | 2021-01-01 06:05:00+00:00 | a706014b-02d0-424a-a346-2bd25ffa8e08 | 42.3323 |
2021-01-01 06:05:00.291337+00:00 | 2021-01-01 06:05:00+00:00 | d2e2bd67-c95a-426d-9357-a717d6c9124d | 42.3434 |
2021-01-01 06:06:00.131817+00:00 | 2021-01-01 06:06:00+00:00 | a706014b-02d0-424a-a346-2bd25ffa8e08 | 42.3323 |
2021-01-01 06:06:00.219178+00:00 | 2021-01-01 06:06:00+00:00 | d2e2bd67-c95a-426d-9357-a717d6c9124d | 42.3434 |
结果是这个图表:
如果我计算 2 月 9 日唯一 FlightID 的数量,我得到:
foo = as_df['20210209':'20210209']
foo.FlightID.nunique()
58
为什么图表显示唯一 FlightID 的最大数量为 12 而至少有一天是 58?
python:3.9.7 牵牛星:4.1.0
在图表中,您按时间戳对 x 轴进行分组,而在 pandas 聚合中,您按日期对数据进行分组(即去除小时和分钟)。
如果您想在图表中按日期对 x 轴进行分组,您可以这样做:
alt.Chart(as_df).mark_bar(color='firebrick').encode(
alt.X('yearmonthdate(TimeUTC):T', title='Day',axis=alt.AxisConfig(labelAngle=45)),
alt.Y('distinct(FlightID)', type='nominal', title='Number of flights')
)