我试图获取按列计算唯一值的数量,但是我的数组具有分类变量(dtype object)
val, count = np.unique(x, axis=1, return_counts=True)
尽管我遇到了这样的错误:
但我仍然可以尝试以下步骤来解决问题:
TypeError: The axis argument to unique is not supported for dtype object
我该如何解决这个问题?
示例x:
array([[' Private', ' HS-grad', ' Divorced'],
[' Private', ' 11th', ' Married-civ-spouse'],
[' Private', ' Bachelors', ' Married-civ-spouse'],
[' Private', ' Masters', ' Married-civ-spouse'],
[' Private', ' 9th', ' Married-spouse-absent'],
[' Self-emp-not-inc', ' HS-grad', ' Married-civ-spouse'],
[' Private', ' Masters', ' Never-married'],
[' Private', ' Bachelors', ' Married-civ-spouse'],
[' Private', ' Some-college', ' Married-civ-spouse']], dtype=object)
需要以下计数:
for x_T in x.T:
val, count = np.unique(x_T, return_counts=True)
print (val,count)
[' Private' ' Self-emp-not-inc'] [8 1]
[' 11th' ' 9th' ' Bachelors' ' HS-grad' ' Masters' ' Some-college'] [1 1 2 2 2 1]
[' Divorced' ' Married-civ-spouse' ' Married-spouse-absent'
' Never-married'] [1 6 1 1]
axis
?如果你想要唯一的行或列,就使用axis
。x.T
迭代有什么问题吗? - hpaulj