如何将Lambda函数正确应用于熊猫数据框列

和平

我有一个pandas数据框,sample其中有一个调用列PR,其中应用了lambda函数,如下所示:

sample['PR'] = sample['PR'].apply(lambda x: NaN if x < 90)

然后,我得到以下语法错误消息:

sample['PR'] = sample['PR'].apply(lambda x: NaN if x < 90)
                                                         ^
SyntaxError: invalid syntax

我究竟做错了什么?

耶斯列尔

您需要mask

sample['PR'] = sample['PR'].mask(sample['PR'] < 90, np.nan)

用另一种解决方案locboolean indexing

sample.loc[sample['PR'] < 90, 'PR'] = np.nan

样本:

import pandas as pd
import numpy as np

sample = pd.DataFrame({'PR':[10,100,40] })
print (sample)
    PR
0   10
1  100
2   40

sample['PR'] = sample['PR'].mask(sample['PR'] < 90, np.nan)
print (sample)
      PR
0    NaN
1  100.0
2    NaN
sample.loc[sample['PR'] < 90, 'PR'] = np.nan
print (sample)
      PR
0    NaN
1  100.0
2    NaN

编辑:

解决方案apply

sample['PR'] = sample['PR'].apply(lambda x: np.nan if x < 90 else x)

时间 len(df)=300k

sample = pd.concat([sample]*100000).reset_index(drop=True)

In [853]: %timeit sample['PR'].apply(lambda x: np.nan if x < 90 else x)
10 loops, best of 3: 102 ms per loop

In [854]: %timeit sample['PR'].mask(sample['PR'] < 90, np.nan)
The slowest run took 4.28 times longer than the fastest. This could mean that an intermediate result is being cached.
100 loops, best of 3: 3.71 ms per loop

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将lambda函数正确应用于数据框的列?

来自分类Dev

如何将自定义函数应用于熊猫数据框的2列?

来自分类Dev

熊猫:如何将函数应用于不同的列

来自分类Dev

如何将函数应用于pandas数据框中的列中的每个值?

来自分类Dev

如何将函数逐列应用于julia数据框

来自分类Dev

如何将重复函数应用于数据框的列

来自分类Dev

熊猫数据框,如何将单个列分组并将总和应用于多列并添加新的总和列?

来自分类Dev

如何在使用lambda的计算函数中输入变化的列数并应用于熊猫的数据框中?

来自分类Dev

将函数应用于熊猫数据框

来自分类Dev

将re函数应用于混合的熊猫数据框

来自分类Dev

如何在要应用于熊猫数据框的python函数中正确声明'NaT'?

来自分类Dev

熊猫数据框:如何将describe()应用于每个组并添加到新列?

来自分类Dev

将 lambda 函数应用于 Pandas 数据框

来自分类Dev

熊猫-将UTM功能应用于数据框列

来自分类Dev

将功能应用于熊猫数据框的列

来自分类Dev

熊猫数据框将功能应用于整个列

来自分类Dev

如何将转换应用于熊猫数据框列表?

来自分类Dev

熊猫如何将多个功能应用于数据框

来自分类Dev

如何将功能应用于多个熊猫数据框

来自分类Dev

熊猫如何将多个功能应用于数据框

来自分类Dev

熊猫-将函数应用于具有来自不同列的多个参数的数据框

来自分类Dev

在熊猫中,如何将函数应用于返回两列的每一列

来自分类Dev

如何将正则表达式函数应用于数据框列以返回值

来自分类Dev

在Julia中,如何将函数应用于具有数组的数据框?

来自分类Dev

如何将引用几列的函数应用于pandas数据框?

来自分类Dev

如何将函数应用于数据框中的一定数量的行?

来自分类Dev

如何将函数应用于数据框中的每个元素?

来自分类Dev

按列将函数应用于Pandas数据框

来自分类Dev

将函数应用于数据框的列的每个元素

Related 相关文章

  1. 1

    如何将lambda函数正确应用于数据框的列?

  2. 2

    如何将自定义函数应用于熊猫数据框的2列?

  3. 3

    熊猫:如何将函数应用于不同的列

  4. 4

    如何将函数应用于pandas数据框中的列中的每个值?

  5. 5

    如何将函数逐列应用于julia数据框

  6. 6

    如何将重复函数应用于数据框的列

  7. 7

    熊猫数据框,如何将单个列分组并将总和应用于多列并添加新的总和列?

  8. 8

    如何在使用lambda的计算函数中输入变化的列数并应用于熊猫的数据框中?

  9. 9

    将函数应用于熊猫数据框

  10. 10

    将re函数应用于混合的熊猫数据框

  11. 11

    如何在要应用于熊猫数据框的python函数中正确声明'NaT'?

  12. 12

    熊猫数据框:如何将describe()应用于每个组并添加到新列?

  13. 13

    将 lambda 函数应用于 Pandas 数据框

  14. 14

    熊猫-将UTM功能应用于数据框列

  15. 15

    将功能应用于熊猫数据框的列

  16. 16

    熊猫数据框将功能应用于整个列

  17. 17

    如何将转换应用于熊猫数据框列表?

  18. 18

    熊猫如何将多个功能应用于数据框

  19. 19

    如何将功能应用于多个熊猫数据框

  20. 20

    熊猫如何将多个功能应用于数据框

  21. 21

    熊猫-将函数应用于具有来自不同列的多个参数的数据框

  22. 22

    在熊猫中,如何将函数应用于返回两列的每一列

  23. 23

    如何将正则表达式函数应用于数据框列以返回值

  24. 24

    在Julia中,如何将函数应用于具有数组的数据框?

  25. 25

    如何将引用几列的函数应用于pandas数据框?

  26. 26

    如何将函数应用于数据框中的一定数量的行?

  27. 27

    如何将函数应用于数据框中的每个元素?

  28. 28

    按列将函数应用于Pandas数据框

  29. 29

    将函数应用于数据框的列的每个元素

热门标签

归档