gpt4 book ai didi

python - 绘制条形图 - ValueError : The truth value of a DataFrame is ambiguous. 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()

转载 作者:行者123 更新时间:2023-12-05 05:19:32 28 4
gpt4 key购买 nike

我正在尝试从数据框中绘制条形图,但我从最后一行获取了 ValueError。任何建议将被认真考虑。谢谢!

这是错误:

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

这是我的代码:

#Calculate sparsity per day
grouped_id = df_sample.set_index('id', drop=False, inplace=False)
grouped_id = grouped_id.groupby('id')

df = grouped_id['avg_sparsity'].agg(np.sum).to_frame()
df.reset_index(inplace=True)

df['avg_sparsity'] = df['avg_sparsity'].apply(lambda x: int(x)/unique_time_cnt)
df['color'] = df['id'].apply(lambda x: 'r' if x in h_ids else 'y' )
df['type'] = df['id'].apply(lambda x: 'h' if x in h_ids else 'c')
df['fid'] = df['id'].apply(lambda x: fid_map.get(x))

fig = plt.figure(figsize=(9,7), dpi=100)

plt.bar( left=df['fid'], height=df['avg_sparsity'], color=df['color'])

最佳答案

我认为您需要通过 values 将列转换为 numpy 数组和颜色也列表:

plt.bar(left=df['fid'].values, 
height=df['avg_sparsity'].values,
color=df['color'].values.tolist())

示例:

df = pd.DataFrame({'fid' : [2,4,5],
'avg_sparsity' : [10,20,30],
'color':['r','y','y']})

print (df)
avg_sparsity color fid
0 10 r 2
1 20 y 4
2 30 y 5

plt.bar(left=df['fid'].values,
height=df['avg_sparsity'].values.tolist(),
color=df['color'].values.tolist())

graph

关于python - 绘制条形图 - ValueError : The truth value of a DataFrame is ambiguous. 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45922087/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com