当我套用map(type)

时间:2019-12-13 09:59:54

标签: pandas

我想观察一下数据框中有什么类型,因为我收到一条消息,指出在某些单元格中有一个元组,不应有任何元组。 好的,我知道我可以弄清楚它在哪里,但是在调查中我遇到了另一个问题,这让我感到困惑。

我想做

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)应该返回的内容当然仅取决于列类型,但是我最初想要的是在其中包含保护代码(如断言)我的数据生成方法可以参数化工作,也可以创建其他列类型。该代码旨在检查在生成过程中我的数据帧中是否发生了意外变化(根据原始消息的发生),以便识别这些情况并希望对其进行修复。

0 个答案:

没有答案