唯一值 python
Unique values python
我试图从根本上查看一列,如果该列具有唯一值,则输入 1,但如果没有,它就变成了 NaN,我的数据框如下所示:
Street Number
0 1312 Oak Avenue 1
1 14212 central Ave 2
2 981 franklin way 1
我用来将数字 1 放在唯一值旁边的代码如下:
df.loc[(df['Street'].unique()), 'Unique'] = '1'
然而,当我 运行 这个时,我得到这个错误 KeyError: "not in index" 我不知道为什么。我在 Number 列上尝试 运行ning 这个,我得到了我想要的结果:
Street Number Unique
0 1312 Oak Avenue 1 NaN
1 14212 central Ave 2 1
2 981 franklin way 1 1
所以我指定哪些是唯一的列称为唯一,它在唯一的行旁边放置一个,在重复的行旁边放置 NaN。所以在这种情况下,我有 2 个,它注意到并使第一个 NaN 和第二个它提供 1,因为它们只有 1 个,所以它也为我们提供 1,因为它是唯一的。我只是不知道为什么我会收到关于街道栏的错误。
这并没有真正产生您想要的结果。 df['Number'].unique()
、array([1, 2], dtype=int64)
的输出恰好在索引中。如果 Number
而不是 [3, 4, 3]
,你会在该列上遇到同样的问题。
对于您正在寻找的内容,选择不存在的地方 duplicated
,或者您在删除重复项后离开的地方,可能比 unique
:
更好
df.loc[~(df['Number'].duplicated()), 'Unique'] = 1
df
Out[51]:
Street Number Unique
0 1312 Oak Avenue 1 1.0
1 14212 central Ave 2 1.0
2 981 franklin way 1 NaN
df.loc[df['Number'].drop_duplicates(), 'Unique'] = 1
df
Out[63]:
Street Number Unique
0 1312 Oak Avenue 1 NaN
1 14212 central Ave 2 1.0
2 981 franklin way 1 1.0
我试图从根本上查看一列,如果该列具有唯一值,则输入 1,但如果没有,它就变成了 NaN,我的数据框如下所示:
Street Number
0 1312 Oak Avenue 1
1 14212 central Ave 2
2 981 franklin way 1
我用来将数字 1 放在唯一值旁边的代码如下:
df.loc[(df['Street'].unique()), 'Unique'] = '1'
然而,当我 运行 这个时,我得到这个错误 KeyError: "not in index" 我不知道为什么。我在 Number 列上尝试 运行ning 这个,我得到了我想要的结果:
Street Number Unique
0 1312 Oak Avenue 1 NaN
1 14212 central Ave 2 1
2 981 franklin way 1 1
所以我指定哪些是唯一的列称为唯一,它在唯一的行旁边放置一个,在重复的行旁边放置 NaN。所以在这种情况下,我有 2 个,它注意到并使第一个 NaN 和第二个它提供 1,因为它们只有 1 个,所以它也为我们提供 1,因为它是唯一的。我只是不知道为什么我会收到关于街道栏的错误。
这并没有真正产生您想要的结果。 df['Number'].unique()
、array([1, 2], dtype=int64)
的输出恰好在索引中。如果 Number
而不是 [3, 4, 3]
,你会在该列上遇到同样的问题。
对于您正在寻找的内容,选择不存在的地方 duplicated
,或者您在删除重复项后离开的地方,可能比 unique
:
df.loc[~(df['Number'].duplicated()), 'Unique'] = 1
df
Out[51]:
Street Number Unique
0 1312 Oak Avenue 1 1.0
1 14212 central Ave 2 1.0
2 981 franklin way 1 NaN
df.loc[df['Number'].drop_duplicates(), 'Unique'] = 1
df
Out[63]:
Street Number Unique
0 1312 Oak Avenue 1 NaN
1 14212 central Ave 2 1.0
2 981 franklin way 1 1.0