我有一个像这样的列的数据框:

df.Chromosome
# 0        1
# 1        1
# 2        1
# 3        1
# 4        1
#         ..
# 94391    Y
# 94392    Y
# 94393    Y
# 94394    Y
# 94395    Y
# Name: Chromosome, Length: 94396, dtype: object


通过执行df.Chromosome.apply(type).drop_duplicates(),我发现它包含两种类型的数据:

0        <class 'int'>
65536    <class 'str'>
Name: Chromosome, dtype: object


有没有一种更快,更惯用的方式来检查列是否包含多个dtype?

最佳答案

我认为您的解决方案很好,还有另一种选择:

df.Chromosome.map(type).unique()




set(df.Chromosome.map(type))


也可以先删除值中的重复项以提高性能:

df.Chromosome.drop_duplicates().apply(type).drop_duplicates()

关于python - 找出对象列在 Pandas 中是否具有多种数据类型的最快和/或最惯用的方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57871393/

10-09 18:54