Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Altair/Streamlight未读取多行图表的列名_Python_Altair_Streamlit - Fatal编程技术网

Python Altair/Streamlight未读取多行图表的列名

Python Altair/Streamlight未读取多行图表的列名,python,altair,streamlit,Python,Altair,Streamlit,我有一个数据框,其列名的形式为'State1-City-1-1','State1-City-1-2'…等等。当我运行streamlight代码:st.line\u chart(df)时,我得到错误: ValueError:指定的变量编码字段没有类型;这个 无法推断类型,因为它与中的任何列都不匹配 资料 出于测试目的,如果我将所有列名更改为整数,则会得到所需的图表。当您看到此错误时,表示图表中使用的列名与数据框中的列名不匹配。在您的情况下,我怀疑这可能是由于使用了不同类型的连字符造成的。例如: >

我有一个数据框,其列名的形式为
'State1-City-1-1'
'State1-City-1-2'
…等等。当我运行streamlight代码:
st.line\u chart(df)
时,我得到错误:

ValueError:指定的变量编码字段没有类型;这个 无法推断类型,因为它与中的任何列都不匹配 资料


出于测试目的,如果我将所有列名更改为整数,则会得到所需的图表。

当您看到此错误时,表示图表中使用的列名与数据框中的列名不匹配。在您的情况下,我怀疑这可能是由于使用了不同类型的连字符造成的。例如:

>>“州1-城市-1-1”==“州1-城市-1-1”
假的
第一个字符串中的
'-'
字符是连字符,而第二个字符串中的
'-'
字符是em破折号;虽然它们在某些字体中看起来相似,但它们并不相同


确保图表中的字段名与数据中的列名完全匹配。

感谢您的关注。我完全删除了空格和“-”,但仍然失败。我没有明确指定要打印的列,它是多行打印,所以我希望它打印所有列。我有一个load_data()函数,输出直接传递给st.line_图表(df)。另外,我应该补充一点,st.dataframe(df)可以正常工作。我的数据透视表有一个名为的列索引。删除列索引名称修复了它。我必须显式地将列名指定为字符串(即使它们以前是字符串),以便plot to work-df.columns=[str(col)for col in df.columns]