该函数将行中的所有值相加100并更改为零

138

这是我认为会更容易的事情,但是(对我来说)不是。。。

我有一些数据如下:

data = pd.DataFrame({ 
    'column1' : [0, 49, 50, 0, 100], 
    'column2' : [100, 0, 0, 0, 0], 
    'column3' : [0, 51, 50, 100, 0]
})

我的需求的输出最好如下所示:

(0,100,0
49,0,51
50,0,50
0,0,100
100,0,0)

我需要修复这些值,因为没有一个为零,所有行的总和为一。(第1栏+第2栏+第3栏= 100)例如:

(1,98,1
49,1,50
49,1,50
1,1,98
98,1,1)

我考虑过一些可以识别最大或最小列的函数,例如np.maximum()或np.minimum(),但我无法解决第0行,第3行或第4行的情况。感激..

阿什温
import pandas as pd


data = pd.DataFrame({ 
'column1' : [0, 49, 50, 0, 100], 
'column2' : [100, 0, 0, 0, 0], 
'column3' : [0, 51, 50, 100, 0]
})

for row in data.values:  #data.values gets all rows of the df
    to_minus = list(row).count(0) #Get num of 0, subtract from max(row)

    for i in range(len(row)):
        elem = row[i]

        if elem == 0:  #If elem is 0 add 1 to elem
        row[i] += 1

        else:
            if row[i] == max(row): # If elem is max(row) subtract num of 0
               row[i] -= to_minus
               to_minus = 0         # Set to minus to 0 in case of duplicates
print(data)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将所有列值的时间更改为零

来自分类Dev

将数据帧列中的所有负值都更改为零

来自分类Dev

将FFTW中每个频率的所有值相加

来自分类Dev

PHP将foreach()的所有值相加

来自分类Dev

将窗体的所有值都从“打开”更改为“是”

来自分类Dev

如何将列表中向量的所有元素更改为值

来自分类Dev

我有一个将字典键更改为大写的函数,但该函数会遗漏某些键

来自分类Dev

尝试实现一个函数,该函数从python的链表中删除所有出现的值

来自分类Dev

将值乘以两列,然后将所有行的结果相加?

来自分类Dev

将R中的所有列从系数更改为数值

来自分类Dev

将文件中的所有文本更改为小写

来自分类Dev

将R中的所有列从系数更改为数值

来自分类Dev

将js对象中的所有值更改为0

来自分类Dev

将所有表的单元格值更改为零

来自分类Dev

如何使用XSL将所有十进制更改为零

来自分类Dev

如果灰度值在没有列表的列表中,请用白色将所有灰度图像像素更改为白色

来自分类Dev

将列标题更改为行中的值

来自分类Dev

python将每个索引处的数组中的所有接下来的n个值相加

来自分类Dev

python将一个值与列表中的所有元素相加

来自分类Dev

将所有ID更改为UUID

来自分类Dev

将所有ID更改为UUID

来自分类Dev

使用sum()将所有值与时间类型相加

来自分类Dev

R将第一行与所有行相加

来自分类Dev

Prelude中是否有一个函数将值与应用于该函数的值配对?

来自分类Dev

如何将所有从零开始的值更改为另一个数字?

来自分类Dev

用Scala将数组中的所有零替换为先前的非零值

来自分类Dev

sed将/ etc / passwd中的userid更改为零

来自分类Dev

将矩阵R中的所有元素相加

来自分类Dev

Excel宏将所有填充的单元格更改为值,而不是公式

Related 相关文章

  1. 1

    如何将所有列值的时间更改为零

  2. 2

    将数据帧列中的所有负值都更改为零

  3. 3

    将FFTW中每个频率的所有值相加

  4. 4

    PHP将foreach()的所有值相加

  5. 5

    将窗体的所有值都从“打开”更改为“是”

  6. 6

    如何将列表中向量的所有元素更改为值

  7. 7

    我有一个将字典键更改为大写的函数,但该函数会遗漏某些键

  8. 8

    尝试实现一个函数,该函数从python的链表中删除所有出现的值

  9. 9

    将值乘以两列,然后将所有行的结果相加?

  10. 10

    将R中的所有列从系数更改为数值

  11. 11

    将文件中的所有文本更改为小写

  12. 12

    将R中的所有列从系数更改为数值

  13. 13

    将js对象中的所有值更改为0

  14. 14

    将所有表的单元格值更改为零

  15. 15

    如何使用XSL将所有十进制更改为零

  16. 16

    如果灰度值在没有列表的列表中,请用白色将所有灰度图像像素更改为白色

  17. 17

    将列标题更改为行中的值

  18. 18

    python将每个索引处的数组中的所有接下来的n个值相加

  19. 19

    python将一个值与列表中的所有元素相加

  20. 20

    将所有ID更改为UUID

  21. 21

    将所有ID更改为UUID

  22. 22

    使用sum()将所有值与时间类型相加

  23. 23

    R将第一行与所有行相加

  24. 24

    Prelude中是否有一个函数将值与应用于该函数的值配对?

  25. 25

    如何将所有从零开始的值更改为另一个数字?

  26. 26

    用Scala将数组中的所有零替换为先前的非零值

  27. 27

    sed将/ etc / passwd中的userid更改为零

  28. 28

    将矩阵R中的所有元素相加

  29. 29

    Excel宏将所有填充的单元格更改为值,而不是公式

热门标签

归档