在Python中使用explode()函数后,如何保留特定列的第一个值?

伊莎贝尔·索萨(Ysabelle Sousa)

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

ssid| ccnt|   table_read    | table_write|execution_time
123   2   [table_a,table_b]     table_c        12
456   3   [table_d,table_f]     table_g        25

当我对“ table_read”列使用爆炸功能时,它会重复执行时间:

ssid| ccnt|   table_read    | table_write|execution_time
123   2        table_a          table_c        12
123   2        table_b          table_c        12
456   3        table_d          table_g        25
456   3        table_f          table_g        25    

但是我不可能发生,因为当我总结它时,它返回错误的结果。我希望得到以下结果:

ssid| ccnt|   table_read    | table_write |   execution_time
    123   2        table_a          table_c        12
    123   2        table_b          table_c        0
    456   3        table_d          table_g        25
    456   3        table_f          table_g        0

可能吗?

Shubham Sharma

之后explode使用Series.maskexecution_time掩盖的重复值ssid用的填充值0

d = df.explode('table_read')
d['execution_time'] = d['execution_time'].mask(d['ssid'].duplicated(), 0)

或使用布尔索引来将重复的值填充为0

d.loc[d['ssid'].duplicated(), 'execution_time'] = 0

结果:

print(d)
   ssid  ccnt table_read table_write  execution_time
0   123     2    table_a     table_c              12
0   123     2    table_b     table_c               0
1   456     3    table_d     table_g              25
1   456     3    table_f     table_g               0

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在R中使用groupby获取满足条件的列的第一个值?

Python pandas:如何从特定列中选择第一个非“无”值?

Python-按列保留第一个唯一值

在特定观察后提取第一个值

如何将第一个值保留在多列中?

如何从链表中找到第一个索引,在 Python 中使用递归找到某个值

如何对由“,”分隔的列值升序重新排序,并且只保留 R 中的第一个值

如何将列值与列python的第一个和最后一个值进行比较

AWK 不使用列的第一个值

如何使用 LOOKUP 函数返回第一个非空值

如何使用 jQuery 获取在 data-* 中找到的特定值的第一个实例

使用每个列的第一个值和特定值分别更新null和特定值

Unnest函数仅将第一个值保留在列表中

javascript如何在第二个函数中使用第一个函数输出

如何使用awk打印特定列中字符串的第一个单词

如何使用sed删除特定列中的第一个字符

在Python中保留小数点后的第一个数字

如何使用列的第一个值作为ggplot中的字幕?

如何使用 dplyr 在 R 中查找具有第一个值的列?

搜索一个频道后,如何使用python单击YouTube中的第一个频道?

在列表中使用 2 个循环后,第一个元素会在 Python 中自动从列表中删除

向量化一个删除重复值的 iterrows 函数,只保留第一个

DataFrame采用列的并集并保留查找第一个非NaN值

如何始终选择一个特定值的第一个SQL

使用不保留第一个 0 的 js 函数的整数

如何使用SQL获取列中每个分区的第一个和最后一个值

保留 DataFrame 中列的第一个元素

如何在python中使用正则表达式获取两个特定字符之间的第一个整数?

如何在jQuery中保留keyup事件的第一个原始值