【问题标题】:Plotting 2 variables from one column of a dataframe从数据框的一列绘制 2 个变量
【发布时间】:2019-12-03 08:18:22
【问题描述】:

我有一个包含几列的数据框,其中是性别(男性,女性)。我想得到两个变量与第三个变量的折线图,在这种情况下是收入,我有以下代码:

ax = plt.gca()

df.plot(kind='line', x='income', y=[df.gender=='male'], ax=ax)
df.plot(kind='line', x='income', y=[df.gender =='female'], color='red', ax=ax)

plt.show()

而且我不断收到值错误。 我想我应该使用条形图?? 有什么想法吗?

【问题讨论】:

  • 尝试将其更改为df[df.gender =='male'].plot(x='income', y='your_field)`

标签: python pandas plot


【解决方案1】:

我会使用 groupby+unstack。假设您对每个收入值都有男性和女性观察,以下代码应该可以满足您的需求:

df = pd.DataFrame([['male',2,3],
                  ['female',2,8],
                  ['male',5,9],
                  ['female',5,8],
                  ['male',7,4],
                  ['female',7,3]], columns = ['gender', 'income', 'debt'])
df.groupby(['gender', 'income'])['debt'].mean().unstack(level=0).plot(kind='bar')

【讨论】:

  • 这正是我所需要的。谢谢
  • 没问题。如果您的问题得到解决,请投票/接受此答案。
猜你喜欢
  • 2019-04-05
  • 2018-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多