我正在尝试使用此代码从spreadsheet绘制图表。
import pandas as pd
import altair as alt
crude_df = pd.read_excel(open('PET_CONS_PSUP_DC_NUS_MBBLPD_M.xls', 'rb'),
sheet_name='Data 1',index_col=None, header=2)
alt.Chart(crude_df.tail(100)).mark_circle().encode(
x = 'Date',
y = r'U\.S\. Product Supplied of Normal Butane (Thousand Barrels per Day)'
)
我从Altair文档中得到了这部分代码
y = r'U\.S\. Product Supplied of Normal Butane (Thousand Barrels per Day)'
这是为了缓解由于编码中存在特殊字符而导致图表显示为空内容的问题
但我还是收到了错误。
ValueError: U\.S\. Product Supplied of Normal Butane (Thousand Barrels per Day) encoding field is specified without a type; the type cannot be inferred because it does not match any column in the data.
不确定我做错了什么。
1条答案
按热度按时间6jjcrrmo1#
它与电子表格/ Dataframe 的列名称中出现的点(
.
)有关,并且似乎转义(文档中建议的)在您的情况下不起作用。作为一种解决方法,您可以在使用
altair.Chart
之前删除pandastr.replace
的圆点。试试这个:
#输出: