提问人:Harsh Saharan 提问时间:11/15/2023 更新时间:11/15/2023 访问量:24
键错误:“计数”
Keyerror : 'count'
问:
我想使用 plotly.express 绘制交互式条形图
state_count = df['state'].value_counts().head(10)
state_names = df['state'].value_counts().head(10).index
Bar_plot = px.bar(df,state_names,state_count, text='1',
title='Top 10 states that have the most haunted places',
labels={"y": "Count", "x": "States"})
Bar_plot.update_traces(textfont_size=12, textposition='outside', cliponaxis=False)
Bar_plot.show()
但是我得到了一个
键错误:“计数”
我试图追溯错误,但找不到任何错误,我试图添加,但它生成了一个新错误.reset_index()
ValueError:DataFrame 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
答:
0赞
maudev
11/15/2023
#1
出现错误“KeyError: 'count'”的原因是您正在尝试访问 DataFrame 中名为“count”的列,但没有具有该名称的列。列名称应为“state_count”。df
错误“ValueError:DataFrame 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all().“ 的出现是因为您尝试使用该方法获取 ”state“ 列中唯一值的计数,然后尝试将结果用作布尔值。这是不可能的,因为 的结果是一个 Series 对象,它不是布尔值。value_counts()
value_counts()
若要修复这些错误,可以执行以下操作:
- 使用正确的列名称“state_count”而不是“count”。
- 在使用 之前,将 value_counts() 的结果转换为值列表 它作为条形图的 y 值。
你可以试试这个:
import pandas as pd
import plotly.express as px
# Create a DataFrame
df = pd.DataFrame({'state': ['California', 'New York', 'Texas', 'Florida', 'Illinois', 'Pennsylvania', 'Ohio', 'Georgia', 'North Carolina', 'Michigan']})
# Get the count of unique values in the "state" column
state_counts = df['state'].value_counts().tolist()
# Get the state names
state_names = df['state'].value_counts().index.tolist()
# Create the bar plot
Bar_plot = px.bar(df, state_names, state_counts, text='1',
title='Top 10 states that have the most haunted places',
labels={"y": "Count", "x": "States"})
# Update the plot appearance
Bar_plot.update_traces(textfont_size=12, textposition='outside', cliponaxis=False)
# Show the plot
Bar_plot.show()
评论