如何根据列表有条件地更新Pandas中的DataFrame列

克里斯托弗·詹金斯(Christopher Jenkins)

假设我有一列的数据框:

df = pd.DataFrame(np.random.randint(0,9,size=(100, 1)), columns=['number'])

我有两个列表,一个列表包含偶数,另一个包含奇数。

odd_numbers = [1,3,5,7,9]
even_numbers = [0,2,4,6,8]

我想根据df ['number']中的值在数据框上创建另一个系列,说“偶数”或“奇数”

就像是:

df['odd_or_even'] = 'even' if df[number].isin(even_numbers)
df['odd_or_even'] = 'odd' if df[number].isin(odd_numbers)
耶斯列尔

我认为您可以使用numpy.where

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,9,size=(100, 1)), columns=['number'])

df['odd_or_even'] = np.where(df.number % 2, 'odd', 'even')
print (df)

    number odd_or_even
0        1         odd
1        0        even
2        4        even
3        5         odd
4        0        even
5        0        even
6        1         odd
7        0        even
8        7         odd
9        8        even

通过评论编辑

用途loc

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,9,size=(20, 1)), columns=['number'])

odd_numbers = [1,3,5,7,9]
even_numbers = [0,2,4,6,8]

df.loc[df.number.isin(odd_numbers), 'odd_or_even'] = 'odd'
df.loc[df.number.isin(even_numbers), 'odd_or_even'] = 'even'

print (df)
    number odd_or_even
0        5         odd
1        1         odd
2        2        even
3        3         odd
4        5         odd
5        6        even
6        3         odd
7        4        even
8        2        even
9        8        even
10       8        even
11       1         odd
12       2        even
13       1         odd
14       3         odd
15       3         odd
16       5         odd
17       4        even
18       2        even
19       5         odd

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Pandas DataFrame:有条件地更新两列

来自分类Dev

根据pandas DataFrame中的列值有条件地替换多个列

来自分类Dev

根据非NaN列的值有条件地在Pandas DataFrame中填充NaN值

来自分类Dev

当列为一系列列表时,如何有条件地将其添加到pandas dataframe列中的单元格选择中?

来自分类Dev

如何根据右侧字符串中的字符总数有条件地连接列表中的字符串?

来自分类Dev

如何根据R中其他列中的数据有条件地执行减法?

来自分类Dev

根据模式有条件地突变新列

来自分类Dev

根据模式有条件地突变新列

来自分类Dev

如何有条件地将一列填充到列表中另一列中的值?

来自分类Dev

根据所有列的值有条件地删除熊猫中的行

来自分类Dev

有条件地将行插入pandas DataFrame

来自分类Dev

Pandas 如何根据其他列有条件地拆分列?

来自分类Dev

根据列中的最大值有条件地删除Excel中的重复项

来自分类Dev

如何有条件地更新反应列表组件

来自分类Dev

R根据另一列中的文本有条件地替换NA

来自分类Dev

有条件地将来自不同DataFrame的聚合列连接到新DataFrame中

来自分类Dev

如何在useEffect中更新状态的条件组件中有条件地渲染?

来自分类Dev

如何有条件地创建列表?

来自分类Dev

如何使用python有条件地修改列表

来自分类Dev

有条件地对元组列表中的值求和

来自分类Dev

有条件地在Angular中填充选择列表

来自分类Dev

有条件地对元组列表中的值求和

来自分类Dev

pandas:有条件地返回列的值

来自分类Dev

有条件地生成新列-Pandas

来自分类Dev

Pandas - 有条件地连接两列

来自分类Dev

如何根据Cython中的Python版本有条件地声明代码?

来自分类Dev

如何根据 PostgreSQL 中的行差异有条件地合并行?

来自分类Dev

如何在android中根据CPU架构有条件地加载本机库

来自分类Dev

如何根据多个对象属性有条件地删除数组中的对象?

Related 相关文章

  1. 1

    Pandas DataFrame:有条件地更新两列

  2. 2

    根据pandas DataFrame中的列值有条件地替换多个列

  3. 3

    根据非NaN列的值有条件地在Pandas DataFrame中填充NaN值

  4. 4

    当列为一系列列表时,如何有条件地将其添加到pandas dataframe列中的单元格选择中?

  5. 5

    如何根据右侧字符串中的字符总数有条件地连接列表中的字符串?

  6. 6

    如何根据R中其他列中的数据有条件地执行减法?

  7. 7

    根据模式有条件地突变新列

  8. 8

    根据模式有条件地突变新列

  9. 9

    如何有条件地将一列填充到列表中另一列中的值?

  10. 10

    根据所有列的值有条件地删除熊猫中的行

  11. 11

    有条件地将行插入pandas DataFrame

  12. 12

    Pandas 如何根据其他列有条件地拆分列?

  13. 13

    根据列中的最大值有条件地删除Excel中的重复项

  14. 14

    如何有条件地更新反应列表组件

  15. 15

    R根据另一列中的文本有条件地替换NA

  16. 16

    有条件地将来自不同DataFrame的聚合列连接到新DataFrame中

  17. 17

    如何在useEffect中更新状态的条件组件中有条件地渲染?

  18. 18

    如何有条件地创建列表?

  19. 19

    如何使用python有条件地修改列表

  20. 20

    有条件地对元组列表中的值求和

  21. 21

    有条件地在Angular中填充选择列表

  22. 22

    有条件地对元组列表中的值求和

  23. 23

    pandas:有条件地返回列的值

  24. 24

    有条件地生成新列-Pandas

  25. 25

    Pandas - 有条件地连接两列

  26. 26

    如何根据Cython中的Python版本有条件地声明代码?

  27. 27

    如何根据 PostgreSQL 中的行差异有条件地合并行?

  28. 28

    如何在android中根据CPU架构有条件地加载本机库

  29. 29

    如何根据多个对象属性有条件地删除数组中的对象?

热门标签

归档