python - 一个循环根据另一个列值查找最小值,并合并到 1 个数据帧中?

标签 python pandas

想象一个像这样的数据框:

import pandas as pd
list ={'Security ID':['3e09ax', 'we9lkl', 'as42we','as5322', 'ot24tas', 'c34ci46a8'],
          'Industry':['Airplanes', 'Airplanes', 'Oil', 'Oil', 'Housing', 'Trucking'],
          'Amount outstanding':[33, 31, 39, 21, 29, 29]}
df = pd.DataFrame(list)

'''

最终目标是将每个行业的最低(最小)未偿金额行返回到每日报告的“最小值”数据框中

本质上是这样,但是对于每个行业来说:

df[df['Amount outstanding'] == df['Amount outstanding'].min()]

第一步是再次将[行业]的唯一值放入列表中,然后生成执行此操作的循环函数。

不知 Prop 体该怎么做。实际上,这个数据框有 100,000 行,其中包含 30 个行业,每天都会发生变化。

最佳答案

IIUC,您需要 groupbytransform:

output = df[df['Amount outstanding']==df.groupby('Industry')['Amount outstanding'].transform(min)]

>>> output

  Security ID   Industry  Amount outstanding
1      we9lkl  Airplanes                  31
3      as5322        Oil                  21
4     ot24tas    Housing                  29
5   c34ci46a8   Trucking                  29

关于python - 一个循环根据另一个列值查找最小值,并合并到 1 个数据帧中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69946027/

相关文章:

python - 如何向 python pandas 中的索引列添加常量时间增量?

python - Pandas : Get row from an ID which is a split of a column value

python - 自动从列表中加入 pandas 数据框

python - 检查列表是升序还是降序(使用 FOR)

python - 使用 tf.reduce_mean 与 tf.concat 进行灰度转换

python - 在 python 中使用 Newton-Cotes 方法进行集成

python - 在 Robot Framework 或 Python 中使用部分 url 值选择窗口

python - 在Python中,如何根据一列中的值比较两个csv文件并输出第一个文件中与第二个文件不匹配的记录

python - pd.to_numeric 将整个系列转换为 NaN

python - 我如何从 python 程序而不是代理中找到面向公众的 ip