altair - Altair 挂在这张图表上?
问题描述
我有一个包含以下内容的简单 csv:
Pattern, Mode, Bandwidth
Random, Read, 23.988
Random, Write, 30.628
Seq, Read, 38.000
Seq, Write, 33.785
我想制作一个与此类似的分组条形图:
import altair as alt
import pandas as pd
df = pd.read_csv("simple.csv")
alt.Chart(df).mark_bar().encode(
x='Bandwidth:Q',
y='Mode:N',
row='Pattern:N'
)
只是挂起 altair(我必须终止 jupyter notebook 的会话才能摆脱它)。也就是说,如果我手动输入数据:pd.DataFrame([ ], [], columns = []
. 相同的绘图命令似乎部分有效。
解决方案
看起来您的 CSV 文件中有空格,因此列名不是'Mode'
and 'Bandwidth'
,而是' Mode'
and ' Bandwidth'
(带有前导空格)。
最好的解决方法是从 CSV 文件中删除空格。如果这是不可能的,那么在 pandas 中,您可以将skipinitialspace=True
参数传递pd.read_csv
给以在将数据读入数据帧时去除这些空格。
推荐阅读
- django - 使用 Django 设置 SendGrid - 用户输入“from_email”
- c# - 如何使用 Linq SQL 执行值相等或一个为空的 INNER JOIN
- python - 我如何使用 Twilio 呼叫和留下多人语音邮件?
- reactjs - 反应路由问题,url更新但comonent不渲染,嵌套路由
- java - FTPClient 正在返回:无法解析响应代码
- excel - 当计算设置为自动时 Excel 将执行的计算数量是否有限制
- excel - 在excel中如何在两列之间进行联合映射
- counter - 建立一个计算单词的 Alexa 技能
- javascript - jQuery $(this).function 返回未定义
- css - 如何让样式表在我的 Express 项目中工作?