我有以下数据:
当我在下面运行代码时:。
too_verbose_columns = (data.select_dtypes(include = 'O')\
.columns[data.select_dtypes(include='O').nunique() > 2]\
.tolist())
我遇到这种错误
TypeError:包含和排除必须都为非字符串序列。
如何摆脱这个错误?
答案 0 :(得分:3)
字符串'O'
不视为序列。您需要输入例如列表。此外,无需重复呼叫select_dtypes
:
data = pd.DataFrame([['1', '2', '3'], ['2', '2', '4'], ['5', '6', '7']],
columns=['col1', 'col2', 'col3'])
df = data.select_dtypes(include=['O'])
too_verbose_columns = df.columns[df.apply(pd.Series.nunique) > 2].tolist()
print(too_verbose_columns)
['col1', 'col3']
col2
超出范围,因为它只有2个唯一元素。