Python Pandas-根据单元格值查找列值

ITSM-79

我正在尝试使用一个单元格的值在另一列中查找一个单元格的值。第一个单元格值指示要查找的列。

import pandas as pd

df = pd.DataFrame({'A': ['John', 'Andrew', 'Bob', 'Fred'], 'B': [
                  'Fred', 'Simon', 'Andrew', 'Andrew'], 'source': ['A', 'B', 'A', 'B']}, )

print(df)


        A       B source
0    John    Fred      A
1  Andrew   Simon      B
2     Bob  Andrew      A
3    Fred  Andrew      B

我在“输出”列中所需的输出值是对“源”的查找

        A       B source  output
0    John    Fred      A    John
1  Andrew   Simon      B   Simon
2     Bob  Andrew      A     Bob
3    Fred  Andrew      B  Andrew

尝试失败

df['output'] = df[df['source']]

这将导致ValueError:传递的项目数错误4,放置位置隐含1,因为df['source']传递的是Series,而不是字符串。我尝试使用以下方式转换为字符串:

df['output'] = df[df['source'].convertDTypes(convert_string=True)]

它给出了错误AttributeError:'Series'对象没有属性'convertDTypes'

工作方案

我发现一种解决方案可能是通过使用以下方法遍历各行:

for index, row in df.iterrows():
    column = df.loc[index, 'source']
    df.at[index, 'output'] = df.loc[index, column]

但是,这篇文章表明迭代是一个坏主意。该代码也不是很优雅。

我觉得我在这里错过了一些基本的东西;这确实不应该那么难。

贝尼

让我们做些吧,numpy因为lookup在以后的版本中将不再起作用

df['new'] = df.values[df.index,df.columns.get_indexer(df.source)]
df
Out[339]: 
        A       B source     new
0    John    Fred      A    John
1  Andrew   Simon      B   Simon
2     Bob  Andrew      A     Bob
3    Fred  Andrew      B  Andrew

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Pandas:在单元格中查找最大值

来自分类Dev

在 Python 中查找 Pandas 的每个单元格中的最大值/最小值

来自分类Dev

Python Pandas:根据单元格中的值重复列名

来自分类Dev

Python Pandas打印出每个单元格的值

来自分类Dev

python pandas:用字典中的值替换单元格

来自分类Dev

Python Pandas Dataframe 单元格值拆分

来自分类Dev

使用 Pandas (Python) 更改单元格值

来自分类Dev

Python Pandas-在以下单元格为空白的列中填写文本值

来自分类Dev

Python Pandas通过其他列中的条件替换更改的单元格值

来自分类Dev

Python Pandas-在以下单元格为空白的列中填写文本值

来自分类Dev

Pandas:如何查找单元格值与某个值匹配的一列的值的索引

来自分类Dev

在 Pandas 数据框中查找任何单元格值 >= x 并返回单元格值、列标题、行和相邻单元格值

来自分类Dev

在Python中根据值查找Pandas数据框列

来自分类Dev

在Python中根据值查找Pandas数据框列

来自分类Dev

根据单元格值从 Pandas DataFrame 中删除行

来自分类Dev

Pandas 读取(Excel)单元格,并返回查找的值

来自分类Dev

在python-pandas的数据帧的特定列中查找重复单元格的快速方法?

来自分类Dev

如何根据单元格中存在的单词使用pandas重新分配列值

来自分类Dev

Python Pandas在groupby中的单元格中按给定值移动

来自分类Dev

使用pandas模块将excel单元格值分配给变量[Python 3.8,Linux]

来自分类Dev

Python Pandas在具有重复值的单元格上添加条件

来自分类Dev

Python Pandas 比较 DataFrame 单元格中的日期时间值

来自分类Dev

如何根据python中另一列中的值移动单元格?

来自分类Dev

Python Pandas 根据同一数据框中的多个列值查找列值

来自分类Dev

python pandas:如何使单元格的第一部分成为列名,如何使单元格的第二部分成为列值

来自分类Dev

如何使用python根据同一csv文件中的其他列单元格更新列单元格中的值?

来自分类Dev

保留上一个单元格的值,然后复制到下一个单元格python pandas dataframe

来自分类Dev

Python Pandas根据索引值创建列

来自分类Dev

根据行值,Python,Pandas选择列

Related 相关文章

  1. 1

    Python Pandas:在单元格中查找最大值

  2. 2

    在 Python 中查找 Pandas 的每个单元格中的最大值/最小值

  3. 3

    Python Pandas:根据单元格中的值重复列名

  4. 4

    Python Pandas打印出每个单元格的值

  5. 5

    python pandas:用字典中的值替换单元格

  6. 6

    Python Pandas Dataframe 单元格值拆分

  7. 7

    使用 Pandas (Python) 更改单元格值

  8. 8

    Python Pandas-在以下单元格为空白的列中填写文本值

  9. 9

    Python Pandas通过其他列中的条件替换更改的单元格值

  10. 10

    Python Pandas-在以下单元格为空白的列中填写文本值

  11. 11

    Pandas:如何查找单元格值与某个值匹配的一列的值的索引

  12. 12

    在 Pandas 数据框中查找任何单元格值 >= x 并返回单元格值、列标题、行和相邻单元格值

  13. 13

    在Python中根据值查找Pandas数据框列

  14. 14

    在Python中根据值查找Pandas数据框列

  15. 15

    根据单元格值从 Pandas DataFrame 中删除行

  16. 16

    Pandas 读取(Excel)单元格,并返回查找的值

  17. 17

    在python-pandas的数据帧的特定列中查找重复单元格的快速方法?

  18. 18

    如何根据单元格中存在的单词使用pandas重新分配列值

  19. 19

    Python Pandas在groupby中的单元格中按给定值移动

  20. 20

    使用pandas模块将excel单元格值分配给变量[Python 3.8,Linux]

  21. 21

    Python Pandas在具有重复值的单元格上添加条件

  22. 22

    Python Pandas 比较 DataFrame 单元格中的日期时间值

  23. 23

    如何根据python中另一列中的值移动单元格?

  24. 24

    Python Pandas 根据同一数据框中的多个列值查找列值

  25. 25

    python pandas:如何使单元格的第一部分成为列名,如何使单元格的第二部分成为列值

  26. 26

    如何使用python根据同一csv文件中的其他列单元格更新列单元格中的值?

  27. 27

    保留上一个单元格的值,然后复制到下一个单元格python pandas dataframe

  28. 28

    Python Pandas根据索引值创建列

  29. 29

    根据行值,Python,Pandas选择列

热门标签

归档