我想在“pd.Series(a,index=).unique”代码中保留索引

Posted

技术标签:

【中文标题】我想在“pd.Series(a,index=).unique”代码中保留索引【英文标题】:I wanna keep index in "pd.Series(a,index=).unique" code 【发布时间】:2021-02-10 10:25:52 【问题描述】:

pd.Series(a).unique() 有问题

我做了一个Series,我用了.unique()

但是,这会删除 pd.Series 索引。

如何用原始索引制作唯一的数组?

【问题讨论】:

使用.drop_duplicates 【参考方案1】:

您可以使用.drop_duplicates(),而不是使用.unique()

x = pd.Series([1,2,3,1,1,2,4,5,6], index=list("abcdefghi"))

print(x)
a    1
b    2
c    3
d    1
e    1
f    2
g    4
h    5
i    6
dtype: int64

.drop_duplicates() 将从系列中删除所有重复项,同时保持对索引的引用。您可以通过keep 参数选择是否要保留“第一个”或“最后一个”重复项的索引位置:

# Keep the first entry of each duplicated value
x.drop_duplicates(keep="first")

a    1
b    2
c    3
g    4
h    5
i    6
dtype: int64
# Keep the last entry of each duplicated item
x.drop_duplicates(keep="last")

c    3
e    1
f    2
g    4
h    5
i    6
dtype: int64

【讨论】:

以上是关于我想在“pd.Series(a,index=).unique”代码中保留索引的主要内容,如果未能解决你的问题,请参考以下文章

我想在前端上传之前裁剪图像(反应)

我想在 for 循环中串联运行多个变量,我想取 x 和 y 的每次迭代的总和

我想在反应中缓存图像,我应该使用啥来存储

我想在特定时间运行 R 代码

我想在 Flutter App 的 Listview 中显示我的 Json 数据

我想在令牌过期时处理错误