我有一个简单的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笔记本才能退出它)。
也就是说,如果我手动输入数据:pd.DataFrame([ ], [], columns = []
。相同的绘图命令似乎可以部分起作用。
答案 0 :(得分:1)
您的CSV文件中似乎有空格,因此列名不是'Mode'
和'Bandwidth'
,而是' Mode'
和' Bandwidth'
(前导空格)
最好的解决办法是从CSV文件中删除空格。如果这不可能,那么在熊猫中,您可以将skipinitialspace=True
参数传递给pd.read_csv
以在将数据读入数据帧时去除这些空格。
答案 1 :(得分:0)
没关系,当我读取CSV文件时似乎没有通过skipinitialspace=True
,并且弄乱了列名。