【问题标题】:ValueError: invalid literal for int() with base 10: 'system area'ValueError:int() 的无效文字,以 10 为底:“系统区域”
【发布时间】:2021-07-23 14:55:56
【问题描述】:
def panda_data_frame (raw_data):
    details = {}
    sample_list = [1]
    for data in raw_data:
        for key,value in raw_data[data].items():
            try:
                if key == 'Time to resolution' or key == 'activity ratio %':
                    details[key].append(float(value))
                else:
                    details[key].append(value)
            except KeyError:
                if key == 'Time to resolution' or key == 'activity ratio %':
                    details[key] = [float(value)]
                else:
                    details[key] = [value]
    print(details)
    return  pd.DataFrame(details)

 def plot3(data):
    print(data)
    df = panda_data_frame(data)
    print(df)
    df3 = df.iloc[['system area','Incident priority']]
    #df3 = df['system area','Incident Priority'] 
    print(df3)
    sns_plot3 = sns.heatmap(df3, xticklables='system area', yticklables='Incident Priority', annot=True, fmt="d")
    plt.tight_layout()
    #sns_plot.set_yticks([0, 180])
    plt.show()
    sns_plot.savefig('output3.png')   

尝试使用示例数据创建热图。它显示了我认为与 iloc 行有关的无效文字值错误。请帮助

【问题讨论】:

    标签: python-3.x pandas dataframe matplotlib data-visualization


    【解决方案1】:

    如果您尝试选择两列,请使用

    df3 = df[['system area','Incident priority']]
    

    iloc - 是一种基于整数的索引方法

    如果你想在上述情况下使用iloc 方法,你必须提到像这样的列的从0开始的索引 df.iloc[:, [3,5]] 假设您希望所有行和列都位于索引 3 和 5

    df.iloc - 使用基于整数的选择方法
    : - 选择所有行
    [3:5] - 选择基于 0 的索引 3 和 5 处的列

    【讨论】:

    • 我也使用过它,它显示 ValueError: could not convert string to float: 'Password Reset'
    猜你喜欢
    • 2017-11-17
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 2020-10-12
    • 2021-01-09
    • 2016-01-22
    • 2021-08-06
    相关资源
    最近更新 更多