如何使用多列标记x轴?以下是可行的示例:
df = pd.DataFrame({"player_name": ["Alan","Bob","Carl","Dan","Earl"],
"jersey_number": ['1','2','3','4','5'],
"hits" : [2,3,1,2,4],
"at_bats" : [7,6,8,7,8]
})
df["label"] = df["player_name"]+"-"+df["jersey_number"]
df.plot(x="label", y=["hits", "at_bats"])
plt.show()
但这有一些弱点。首先,创建 label 列的示例代码行很繁琐。其次,字符串拼接非常棘手。如果 jersey_number 不是字符串(例如是整数),那么拼接会失败。我可以编写一个子过程来获取列列表,将它们全部转换为字符串,并将它们连接起来。虽然这似乎是不必要的,但应该有一些内置的方法可以做到这一点,类似于:
df = pd.DataFrame({"player_name": ["Alan","Bob","Carl","Dan","Earl"],
"jersey_number": ['1','2','3','4','5'],
"hits" : [2,3,1,2,4],
"at_bats" : [7,6,8,7,8]
})
df.plot(x=["player_name","jersey_number"], y=["hits", "at_bats"])
plt.show()
这样做不行;它会抛出ValueError: x 必须是标签或位置。
我的谷歌搜索能力还不够强大,无法发现正确的语法。它是否存在,如果存在,是什么?谢谢。