如何将熊猫数据框中的负数替换为零

不挂断:

我想知道是否有某种方式将所有DataFrame负数替换为零?

列维斯基:

如果所有列都是数字列,则可以使用布尔索引:

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'a': [0, -1, 2], 'b': [-3, 2, 1]})

In [3]: df
Out[3]: 
   a  b
0  0 -3
1 -1  2
2  2  1

In [4]: df[df < 0] = 0

In [5]: df
Out[5]: 
   a  b
0  0  0
1  0  2
2  2  1

对于更一般的情况,此答案显示了private方法_get_numeric_data

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'a': [0, -1, 2], 'b': [-3, 2, 1],
                           'c': ['foo', 'goo', 'bar']})

In [3]: df
Out[3]: 
   a  b    c
0  0 -3  foo
1 -1  2  goo
2  2  1  bar

In [4]: num = df._get_numeric_data()

In [5]: num[num < 0] = 0

In [6]: df
Out[6]: 
   a  b    c
0  0  0  foo
1  0  2  goo
2  2  1  bar

使用timedelta类型,布尔索引似乎可以在单独的列上工作,但不能在整个数据帧上工作。因此,您可以执行以下操作:

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'a': pd.to_timedelta([0, -1, 2], 'd'),
   ...:                    'b': pd.to_timedelta([-3, 2, 1], 'd')})

In [3]: df
Out[3]: 
        a       b
0  0 days -3 days
1 -1 days  2 days
2  2 days  1 days

In [4]: for k, v in df.iteritems():
   ...:     v[v < 0] = 0
   ...:     

In [5]: df
Out[5]: 
       a      b
0 0 days 0 days
1 0 days 2 days
2 2 days 1 days

更新:pd.Timedelta整个DataFrame上的作品进行比较

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'a': pd.to_timedelta([0, -1, 2], 'd'),
   ...:                    'b': pd.to_timedelta([-3, 2, 1], 'd')})

In [3]: df[df < pd.Timedelta(0)] = 0

In [4]: df
Out[4]: 
       a      b
0 0 days 0 days
1 0 days 2 days
2 2 days 1 days

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将无效的数据类型输入替换为熊猫数据框中的“无”

来自分类Dev

如何将特殊字符列表替换为熊猫数据框中的单个字符

来自分类Dev

如何将r中的数据框从正数转换为负数

来自分类Dev

将负数替换为零?

来自分类Dev

Python熊猫,如何将数据框的NA值替换为在另一个数据框中查找的值?

来自分类Dev

如何将生成的数据转换为熊猫数据框

来自分类Python

如何将熊猫数据框中的日期转换为“日期”数据类型?

来自分类Python

如何将熊猫数据框中的日期转换为“日期”数据类型?

来自分类Dev

如何将熊猫数据框中的列转换为数据时间?

来自分类Dev

如何将熊猫数据框转换为单个列表

来自分类Dev

如何将熊猫数据框行转换为多行

来自分类Dev

如何将Frozendict对象转换为熊猫数据框

来自分类Dev

如何将熊猫数据框转换为命名元组

来自分类Linux

如何将熊猫数据框转换为分层字典

来自分类Dev

如何将python字典转换为熊猫数据框

来自分类Dev

如何将火炬张量转换为熊猫数据框?

来自分类Dev

如何将列表转换为熊猫数据框

来自分类Python

如何将熊猫数据框的索引转换为列?

来自分类Dev

如何将文本表转换为熊猫数据框?

来自分类Dev

如何将矩阵转换为熊猫数据框

来自分类Dev

如何将熊猫数据框转换为datadict

来自分类Dev

如何将熊猫数据框的值转换为列

来自分类Dev

如何将熊猫数据框转换为嵌套json

来自分类Dev

如何将嵌套的字典转换为熊猫数据框?

来自分类Dev

如何将数据框列中的天数转换为熊猫中的整数?

来自分类Dev

如何将随机长度的列表转换为熊猫中的数据框?

来自分类Dev

如何将熊猫数据框转换为列表中的值的字典

来自分类Dev

如何将系列中的值列表转换为数据框熊猫

来自分类Dev

如何将包含列表的列转换为熊猫数据框中的单独列?

Related 相关文章

  1. 1

    如何将无效的数据类型输入替换为熊猫数据框中的“无”

  2. 2

    如何将特殊字符列表替换为熊猫数据框中的单个字符

  3. 3

    如何将r中的数据框从正数转换为负数

  4. 4

    将负数替换为零?

  5. 5

    Python熊猫,如何将数据框的NA值替换为在另一个数据框中查找的值?

  6. 6

    如何将生成的数据转换为熊猫数据框

  7. 7

    如何将熊猫数据框中的日期转换为“日期”数据类型?

  8. 8

    如何将熊猫数据框中的日期转换为“日期”数据类型?

  9. 9

    如何将熊猫数据框中的列转换为数据时间?

  10. 10

    如何将熊猫数据框转换为单个列表

  11. 11

    如何将熊猫数据框行转换为多行

  12. 12

    如何将Frozendict对象转换为熊猫数据框

  13. 13

    如何将熊猫数据框转换为命名元组

  14. 14

    如何将熊猫数据框转换为分层字典

  15. 15

    如何将python字典转换为熊猫数据框

  16. 16

    如何将火炬张量转换为熊猫数据框?

  17. 17

    如何将列表转换为熊猫数据框

  18. 18

    如何将熊猫数据框的索引转换为列?

  19. 19

    如何将文本表转换为熊猫数据框?

  20. 20

    如何将矩阵转换为熊猫数据框

  21. 21

    如何将熊猫数据框转换为datadict

  22. 22

    如何将熊猫数据框的值转换为列

  23. 23

    如何将熊猫数据框转换为嵌套json

  24. 24

    如何将嵌套的字典转换为熊猫数据框?

  25. 25

    如何将数据框列中的天数转换为熊猫中的整数?

  26. 26

    如何将随机长度的列表转换为熊猫中的数据框?

  27. 27

    如何将熊猫数据框转换为列表中的值的字典

  28. 28

    如何将系列中的值列表转换为数据框熊猫

  29. 29

    如何将包含列表的列转换为熊猫数据框中的单独列?

热门标签

归档