用python画熊猫代码_python-使用Pandas绘制包含列表的列

我有一个包含几列的数据框(df),其中两列在每一行中存储一个列表:

Index list1 list2

A [ 0.09173306 0.12331911 0.20057651 ] [ 0.3128322 0.27153913 ]

D [ 0.03861522 0.10524985 ] [ 0.37265687 0.48347806 ]

E [ 0.02124905 0.01149118 ] [ 0.04348405 0.17057435 0.37838683 0.37481453 ]

我想使用熊猫内置的绘图功能将这些列表绘制为条形图.

使用

df.list1.apply(lambda x:x[0]).plot(kind='bar', width=0.9, ax=bar_ax)

我可以绘制每个列表的第一个元素.但是,尝试

df.list1.plot(kind='bar', width=0.9, ax=bar_ax)

导致以下错误:

Empty 'DataFrame': no numeric data to plot

我想做的是,(1)将两个列表都绘制成一个图,如下所示:

df[['list1','list2']].plot(kind='bar', width=0.9, ax=bar_ax)

并且(2)还将每个列表的第一个元素仅绘制到一个条形图中,我可以这样做:

df.list1.apply(lambda x:x[0]).plot(kind='bar', width=0.9, ax=bar_ax, color='blue')

df.list2.apply(lambda x:x[0]).plot(kind='bar', width=0.9, ax=bar_ax, color='red')

但是,这导致条形图相互重叠(不堆叠!)-我想将它们分组.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值