使用应用,位置和第二个应用更新熊猫数据框

阿米尔

我有一个具有以下结构的数据框:

>>>df  
               name  threshold      ...   time                     
   0            a          no       ...   1.1
   1            a          1        ...   1.5
   2            b          no       ...   1.1
   3            a          2        ...   1.5
   ...

对于每个名称(groupby),我想找到df.where['threshold']=='no'的对应值并将其除以同一组(a,b等)中time的其余name我想保留其余的数据框。我无法找到使用df.apply的选项:

df.groupby(['name']).apply(lambda x: x['threshold'])

此后,我将无法对其进行申请df.where,也无法通过df.apply使其满足多种条件。

所以答案应该做一个groupbyapply通过门槛,where门槛是否定的,find对应的时间价值,divide即对所有在同一组的名称。请注意,no每个组名只有一个

感谢您的任何建议。

丹妮·梅塞乔

IIUC,您可以执行以下操作:

df['no_time'] = df['threshold'].eq('no') * df['time']

df['time'] = df['time'] / df.groupby('name')['no_time'].transform('max')

res = df.drop('no_time', axis=1)

print(res)

输出量

  name threshold      time
0    a        no  1.000000
1    a         1  1.363636
2    b        no  1.000000
3    a         2  1.363636

第一步:

df['no_time'] = df['threshold'].eq('no') * df['time']

创建一个新列,其中唯一的值不同于0threshold等于no的

第二步有两个部分,第2.1部分

df.groupby('name')['no_time'].transform('max')

no_time按组查找新列(的最大值,即阈值等于no的时间值假设时间始终为正(或至少在阈值等于no的情况下

最后一部分只是将df['time']列与上一步(2.1)相除

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当数据库是第二个位置参数时,熊猫应用函数

熊猫使用数据框名称用ID替换第二个数据框中任何位置的数据

根据第二个数据框的匹配列更新熊猫数据框

熊猫:从第二个数据框更新列值

pandas - 在列上应用一个函数,使用第二个数据框作为函数的输入?

通过熊猫绘图界面在第二个Y轴上绘制熊猫数据框时设置图例位置

使用第二个数据库测试Yii REST应用程序

如何使用jetty和geoserver添加第二个Web应用程序?

如何使用熊猫从第二个数据框中过滤数据框中2列的值

如何使用 Pandas 在数据框中查找和替换第二个逗号(,)?

想使用 SharePreferences 更新第二个片段中的数据,但第二个片段未更新

根据过滤器,使用第二个数据框中的值更新数据框

如何加入两个熊猫数据框,使第二个表重复

通过使用第二个索引作为列将熊猫多索引系列转换为数据框

在熊猫数据框列上使用rsplit根据定界符的第二个实例进行分离

根据第二个的NA值覆盖熊猫数据框中的值

如何将熊猫数据框的状态导入第二个.py文件

在熊猫数据框中找到倒数第二个日期

如何在熊猫数据框中设置第二个?

使用第二个应用程序中的模型测试Django应用程序

使用第二个数据框中的值过滤数据框

从Android应用程序中的第二个线程更新视图

F#部分应用第二个参数

从第二个文本框获取数据

熊猫:如何合并两个数据框并使用第二个数据框中的值填充NaN值

Angular JS-第二个应用程序和控制器

列和行连接第二个框数据

使用第二个线程中的数据更新Tkinter-GUI中的数据

无法使用 xtrabackup 应用第二个增量备份文件