【问题标题】:no numeric data to plot没有要绘制的数字数据
【发布时间】:2021-08-14 10:02:32
【问题描述】:

我试图在下面绘制我的图表,但它向我显示了这个问题:“TypeError: no numeric data to plot”,下面是我的代码:

def plot_activity(event, df):
data = df[df['event'] == event][['pose2d_1', 'pose2d_2', 'pose2d_3', 'pose2d_4', 'pose2d_5', 'pose2d_6', 'pose2d_7', 'pose2d_8', 'pose2d_9', 'pose2d_10', 'pose2d_11', 'pose2d_12', 'pose2d_13', 'pose2d_14', 'pose2d_15', 'pose2d_16', 'pose2d_17', 'pose2d_18', 'pose2d_19', 'pose2d_20', 'pose2d_21', 'pose2d_22', 'pose2d_23', 'pose2d_24', 'pose2d_25', 'pose2d_26']][:200]
axis = data.plot(subplots=True, figsize=(16, 12), 
                 title=event)
for ax in axis:
    ax.legend(loc='lower left', bbox_to_anchor=(1.0, 0.5))

plot_activity("WatchTV", p2d);

我认为可能是我的数据框得到了如下图的字符串数据类型导致了问题,但如果是,我可以知道解决方案是什么吗?

my dataframe

【问题讨论】:

  • 检查数据类型

标签: python pandas dataframe matplotlib


【解决方案1】:

首先,检查数据框中的任何 nan 值:

print(data[data.isna().any(axis=1)])

根据您的情况,您可能希望完全删除它们或执行其他操作。如果要删除 na 值:

data = data.dropna()

接下来是检查哪些列不被视为浮点数(具有对象类型):

print(data.info())

同样,这完全取决于您的数据/情况。如果任何列都没有问题,您可以将它们转换为浮动:

data = data.astype('float')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-05
    • 2015-10-08
    • 1970-01-01
    • 2018-11-21
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多