Altair 挂在这张图表上?
Altair hangs with this chart?
我有一个包含以下内容的简单 csv:
Pattern, Mode, Bandwidth
Random, Read, 23.988
Random, Write, 30.628
Seq, Read, 38.000
Seq, Write, 33.785
我想生成与 this one:
类似的分组条形图
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 文件时似乎没有输入 skipinitialspace=True
,结果弄乱了列名。
您的 CSV 文件中似乎有空格,因此列名不是 'Mode'
和 'Bandwidth'
,而是 ' Mode'
和 ' Bandwidth'
(前导空格)。
最好的解决方法是从 CSV 文件中删除空格。如果那不可能,那么在 pandas 中,您可以将 skipinitialspace=True
参数传递给 pd.read_csv
以在将数据读入数据帧时去除这些空格。
我有一个包含以下内容的简单 csv:
Pattern, Mode, Bandwidth
Random, Read, 23.988
Random, Write, 30.628
Seq, Read, 38.000
Seq, Write, 33.785
我想生成与 this one:
类似的分组条形图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 文件时似乎没有输入 skipinitialspace=True
,结果弄乱了列名。
您的 CSV 文件中似乎有空格,因此列名不是 'Mode'
和 'Bandwidth'
,而是 ' Mode'
和 ' Bandwidth'
(前导空格)。
最好的解决方法是从 CSV 文件中删除空格。如果那不可能,那么在 pandas 中,您可以将 skipinitialspace=True
参数传递给 pd.read_csv
以在将数据读入数据帧时去除这些空格。