键错误:“计数”

Keyerror : 'count'

提问人:Harsh Saharan 提问时间:11/15/2023 更新时间:11/15/2023 访问量:24

问:

我想使用 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赞 Panda Kim 11/15/2023
stackoverflow.com/help/minimal-reproducible-example

答:

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()