python - 没有要绘制的数字数据
问题描述
我试图在下面绘制我的图表,但它向我展示了这个问题:“TypeError:没有要绘制的数字数据”,下面是我的代码:
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);
我认为可能是我的数据框得到了如下图所示的字符串数据类型导致了问题,但如果是,我可以知道解决方案是什么吗?
解决方案
首先,检查数据框中的任何 nan 值:
print(data[data.isna().any(axis=1)])
根据您的情况,您可能希望完全删除它们或执行其他操作。如果要删除 na 值:
data = data.dropna()
接下来是检查哪些列不被视为浮点数(具有对象类型):
print(data.info())
同样,这一切都取决于您的数据/情况。如果任何列都没有问题,您可以将它们转换为浮点数:
data = data.astype('float')
推荐阅读
- debugging - Intellij 没有在 tomcat 上正确部署
- php - 真的没有办法在 PHP CLI 中捕获 Windows 中的“终止信号”吗?
- php - 如何根据 Woocommerce 中的付款选项更改运输区域?
- python - AttributeError:“str”对象没有属性“tk”
- javascript - 在字符串中查找也是后缀的最长前缀 - Javascript
- javascript - 将循环中的 php 数据导出到 CSV 文件
- python - LoadLibrary:pyinstaller:格式化消息W失败
- java - 构建“springSecurityFilterChain”时出现“AlreadyBuiltException:该对象已构建”
- php - 在没有会话 PHP 的情况下跨页面存储变量
- omnet++ - 将 OMNET++ 输出写入文本文件