我注意到在二进制数据列上使用unique()
函数时会出现一些异常行为,而不会返回所有值。
R = pd.DataFrame(data=np.random.choice([10. , 20., 30.], size=20), columns=['A'])
R.loc[:, 'B'] = R.A.apply(lambda x: struct.pack('f', x))
print len(R.A.unique()), len(R.B.unique()), len(np.unique(R.B))
print R.B.unique(), np.unique(R.B)
返回
3 1 3
['\x00\x00 A'] ['\x00\x00 A' '\x00\x00\xa0A' '\x00\x00\xf0A']
运行R.B.value_count()
时会返回三个值。
dtype
的{{1}}为R.B
。
我正在使用Pandas版本dtype('O')