Pandas DataFrame:数据中的列表



我正在尝试通过对整数分类特征出生进行编码

birth_encoded = encode_integer_categorical_feature(birth, "birth", train_ds)

其中

def encode_integer_categorical_feature(feature, name, dataset):
# Create a CategoryEncoding for our integer indices
encoder = CategoryEncoding(output_mode="binary")
# Prepare a Dataset that only yields our feature
feature_ds = dataset.map(lambda x, y: x[name])
feature_ds = feature_ds.map(lambda x: tf.expand_dims(x, -1))
# Learn the space of possible indices
encoder.adapt(feature_ds)
# Apply one-hot encoding to our indices
encoded_feature = encoder(feature)
return encoded_feature

然后得到错误:

TypeError: '>' not supported between instances of 'list' and 'int'

我猜这是因为出生数据没有完全清理干净?

出生的数据类型是int64,但不知怎么的,里面有一个列表?

所以(如果这是问题所在,我很确定(我想知道如何检查作为列表的数据帧列中的元素?或者,更确切地说,如何筛选出出生列中的所有列表进行检查。

这里有一个建议:

使用示例DataFrame

df = pd.DataFrame({'Col': [1, 2, [1, 2], 3, [1, 2, 3]]})

这个

df_lists = df.Col.apply(lambda x: type(x) == list)
lists = [(i, item) for i, item in zip(df.index, df.Col) if type(item) == list]

提供以下输出(print(df_lists)print(lists)(:

0    False
1    False
2     True
3    False
4     True
Name: Col, dtype: bool
[(2, [1, 2]), (4, [1, 2, 3])]

相关内容

  • 没有找到相关文章

最新更新