在按列Y分组时在pandas DataFrame中的列X中查找最小值

披风

我有一个DataFrame看起来像这样

cluster_id,distance,url
0,0.1,abc.com
0,0.05,def.com
0,0.3,xyz.com
1,0.15,aaa.com
1,0.25,bbb.com
1,0.05,ccc.com

我想做的是找到每个群集的最小距离,并新建一个名为centroid_url的列:

cluster_id,distance,url,centroid_url
0,0.1,abc.com,def.com
0,0.05,def.com,def.com
0,0.3,xyz.com,def.com
1,0.15,aaa.com,ccc.com
1,0.25,bbb.com,ccc.com
1,0.05,ccc.com,ccc.com

我可以想到这样做的某种丑陋方法(对于每个可能的cluster_id,在for循环中找到最小值),但是我想知道这样做的一种更优雅的方法。谢谢。

最大容量

达蒙:

In [29]: df['centroid_url'] = df.loc[df.groupby('cluster_id')['distance']
                                       .transform('idxmin'), 'url'] \
                                .values

In [30]: df
Out[30]:
   cluster_id  distance      url centroid_url
0           0      0.10  abc.com      def.com
1           0      0.05  def.com      def.com
2           0      0.30  xyz.com      def.com
3           1      0.15  aaa.com      ccc.com
4           1      0.25  bbb.com      ccc.com
5           1      0.05  ccc.com      ccc.com

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Python DataFrame中查找最小值列和最小值列名称

查找 pandas.DataFrame 中每个标签的每列的最小值和最大值

在行中查找最小值并计算Matlab中每列的最小值总数

按y列分组并返回x列中具有最小值的列

配置单元(连续查找n列中的最小值)

查找依赖于熊猫中列的最小值

通过在 sql 中对多个列进行分组来查找列中的最小值

从Spark DataFrame列中的数组获取最小值

使用 pandas 根据其他两列的类别级别查找列中的最小值

在 pandas 数据框的列中查找最小值和最大值

在 Pandas 中查找日期列的最小值和最大值

如何根据熊猫中其他两列中的查找值分配最小值?

pandas DataFrame:列中相同符号的值相加的最大值和最小值

如何根据数据框另一列中的条件在列中查找最小值?

列中的SQL Server最小值

在大于 R 中另一列的数组中查找最小值

在列之后的矩阵列中查找最小值和值的索引

Python 查找最小值。二维数组中每一列的值

在python中查找三列的最大值和最小值

查找awk中每列的最大值/最小值

R:在数据框中查找列列表的最大值/最小值

从具有多个列的.txt文件中查找最大值,最小值

如何在Pandas DataFrame中获得带有特定列的最小值的行?

在整个Pandas DataFrame中获取具有最小值的行和列

如何为熊猫数据框中按ID分组的每个列的每个唯一值查找最小值

在给定的时间间隔中以熊猫为单位查找列的最小值

如何从特定列的列表中查找每一行的最小值

如何在多个文件的特定列中查找最小值的记录?

如何查找特定列中是否有两个或更多个相等的最小值