我想观察一下数据框中有什么类型,因为我收到一条消息,指出在某些单元格中有一个元组,不应有任何元组。 好的,我知道我可以弄清楚它在哪里,但是在调查中我遇到了另一个问题,这让我感到困惑。
我想做
df.applymap(type).melt()
然后将其汇总以获得类型计数,但是即使使用applymap(type)
的第一步也会引发我不理解的错误:
"'numpy.dtype' object is not callable", 'occurred at index building_id'
这个cryptinc消息试图告诉我什么?
我的数据框包含以下列:
building_id int32
primary_use int64
square_feet int32
year_built int32
day_index int64
hour int64
meter_0.0 float32
meter_1.0 float32
cloud_coverage float64
dew_temperature float64
precip_depth_1_hr float64
sea_level_pressure float64
wind float64
wind_north float64
energy_heat float64
energy_cool float64
date_year int64
period_type int64
num_days_period int64
num_days_change int64
num_days_next_period int64
没什么好看的,对吧?顺便说一句当然,上述列中的df
中不包含元组。我只有一个框架,可以根据配置动态构建数据帧,如果有的话,元组可以在另一个配置中创建,但是使用上面的数据帧,我会得到上面提到的错误。
任何想法,什么原因导致错误以及如何解决?
因为这可能是第一个问题,所以我使用的版本是:
pd.__version__
Out[150]: '0.25.0'
np.__version__
Out[151]: '1.17.4'
编辑:当然,以上列类型不包含任何对象,因此.applymap(type)
应该返回的内容当然仅取决于列类型,但是我最初想要的是在其中包含保护代码(如断言)我的数据生成方法可以参数化工作,也可以创建其他列类型。该代码旨在检查在生成过程中我的数据帧中是否发生了意外变化(根据原始消息的发生),以便识别这些情况并希望对其进行修复。