我想为pandas
包含带有数字的列和其他包含字符串作为值的列的 DataFrame 绘制平行坐标。
问题描述
我有以下测试代码,可用于绘制带有数字的平行坐标:
import pandas as pd
import matplotlib.pyplot as plt
from pandas.tools.plotting import parallel_coordinates
df = pd.DataFrame([["line 1",20,30,100],\
["line 2",10,40,90],["line 3",10,35,120]],\
columns=["element","var 1","var 2","var 3"])
parallel_coordinates(df,"element")
plt.show()
但是我想尝试的是在我的情节中添加一些具有字符串的变量。但是当我运行以下代码时:
df2 = pd.DataFrame([["line 1",20,30,100,"N"],\
["line 2",10,40,90,"N"],["line 3",10,35,120,"N-1"]],\
columns=["element","var 1","var 2","var 3","regime"])
parallel_coordinates(df2,"element")
plt.show()
我收到此错误:
ValueError:float()的无效文字:N
我想这意味着parallel_coordinates
函数不接受字符串。
我正在尝试做的示例
我正在尝试做类似这个例子的事情,其中 Race 和 Sex 是字符串而不是数字:
问题
有没有办法使用 执行这样的图形pandas
parallel_coordinates
?如果没有,我怎么能尝试这样的图形?也许与matplotlib
?
我必须提到我特别在Python 2.5下寻找 带有 pandas 版本的解决方案0.9.0
。