python - Pandas 根据另一列 python 在一列中获取唯一值

标签 python pandas dataframe unique

这里我有一个如下所示的数据框:

Variable    Groups
1           [0-10]
1           [0-10]
2           [0-10]
2           [0-10]
3           [0-10]
3           [10-20]
4           [10-20]
4           [10-20]
5           [10-20]
5           [10-20]

我只想为 Variable 列获取唯一值,但不想丢失不同 Groups 中的任何重复值,例如:

Variable    Groups
1           [0-10]
2           [0-10]
3           [0-10]
3           [10-20]
4           [10-20]
5           [10-20]

请注意,仍然有一个重复的 3,因为每个组中都有一个。我试过了

df_unique = df['Groups'].groupby(df['Variable']).unique().apply(pd.Series)

但这只会返回一团糟。不知道该怎么做,感谢帮助。

最佳答案

您可以使用 SeriesGroupBy.unique()连同 .explode().reset_index() ,如下:

df.groupby('Variable')['Groups'].unique().explode().reset_index()

另一个解决方案是使用 GroupBy.first() ,如下:

df.groupby(['Variable', 'Groups'], as_index=False).first()

结果:

   Variable   Groups
0         1   [0-10]
1         2   [0-10]
2         3   [0-10]
3         3  [10-20]
4         4  [10-20]
5         5  [10-20]

关于python - Pandas 根据另一列 python 在一列中获取唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68091878/

相关文章:

java - 使用 Jython 访问 Java 中 Python 类的公共(public)属性

python - 重复 pandas 数据帧的特定行

python - 如何将日期和时间列合并到 pandas 系列中的一个索引列中?

python - 计算 Pandas 数据框中某个值的出现次数

r - 对 R 中的数据帧中的重复列求和

python - 如何转换列的值以扩展数据框?

python - CeleryCAM 不工作... - Django/Celery

python - 如果我将通常调用的代码放入单独的方法或文件中,Python 会更快吗?

Python: "re"模块包含在 "Tkinter"模块中?

python - 在 Pandas v0.20 和 matplotlib 中为条形分配颜色的问题