python dataframe两列相乘_python – 在seaborn中绘制两列dataFrame

博主尝试在seaborn中创建条形图,显示数据框每行两个变量(权重、方差)的值,但代码报错。解决方法是将数据清理为整洁格式,把文本数据转为数字类型,通过一系列操作处理数据后用seaborn绘制条形图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在尝试在seaborn中创建一个条形图,显示数据框中每行(因子)的两个变量(权重,方差)的值.这是我的数据:

Factor Weight Variance

Growth 10% 0.15

Value 20% 0.35

这是我的代码:

fig=plt.figure(figsize=(10,10))

ax1=fig.add_subplot(221)

sns.barplot(x=df.index, y=df[['Weight', 'Variance']], ax=ax1)

每次我无法调试时,上面会抛出一个错误.我想要实现的是有一个图,每个因子显示两个彩色条;一种颜色的重量(例如:红色)和另一种颜色的差异(例如:蓝色).

有人有建议或潜在的解决方法吗?

谢谢

最佳答案 除了将数据清理为整洁的格式之外,还需要将文本数据(百分比)重新格式化为数字数据类型.由于这与条形图无关,我假设您可以自己处理并专注于绘图和数据结构:

df = pandas.DataFrame({

'Factor': ['Growth', 'Value'],

'Weight': [0.10, 0.20],

'Variance': [0.15, 0.35]

})

fig, ax1 = pyplot.subplots(figsize=(10, 10))

tidy = (

df.set_index('Factor')

.stack() # un-pivots the data

.reset_index() # moves all data out of the index

.rename(columns={'level_1': 'Variable', 0: 'Value'})

)

seaborn.barplot(x='Factor', y='Value', hue='Variable', data=tidy, ax=ax1)

seaborn.despine(fig)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值