python - 独特的值(value) python

标签 python pandas dataframe unique

我试图基本上查看一列,如果该列具有唯一值,则输入 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:“不在索引中”我不知道为什么。我尝试在“数字”列上运行它,得到了我想要的结果:

    Street            Number    Unique
0   1312 Oak Avenue     1         NaN
1   14212 central Ave   2          1
2   981 franklin way    1          1

所以我指定哪些是唯一的列称为“唯一”,它在唯一的行旁边放置一个“1”,在重复的行旁边放置“NaN”。因此,在这种情况下,我有 2 个 1,它注意到第一个 NaN,第二个它提供 1,因为它们只有 1 个两个,所以它也为我们提供 1,因为它是唯一的。我只是不知道为什么街道专栏会出现该错误。

最佳答案

这并没有真正产生您想要的结果。 df['Number'].unique(), array([1, 2], dtype=int64) 的输出恰好位于索引中。例如,如果 Number[3, 4, 3],您会在该列上遇到相同的问题。

对于您要查找的内容,选择不重复的位置或删除重复项后留下的位置可能比唯一更好:

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

关于python - 独特的值(value) python ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44728349/

相关文章:

python - 我需要在 Replit 上播放声音方面的帮助

python - 如何配置 tox 使其产生轮子?

python - 隐藏控制台窗口

python - 按对象对组的值求和

python - pandas - 根据变量将值添加到带标题的列中到 multiindex (标题)中

python - 在 Flask 上将 Pandas DataFrame 渲染为 html

python - 将 Pandas Dataframe 与索引值组合作为列名

python - iokit.IOServiceGetMatchingServices 在 Python3 下损坏?

python - 使用 df.apply() 将带参数的函数应用于每一行

python - 将 Python Pandas 中的列名从日期时间对象更改为字符串?