所以我有一个pandas数据框。
A: 3, 4, 1, 2, 1,
B 1, 2, 3, 4
C Red, Blue, Yellow, Green
D Yes, No, Maybe, True
我希望能够做的是顺序地检查列A和列B,如果有匹配,则输出相对于B的C和D。
例如,上面的数据框将转换为A Yellow、绿色、Red、Blue、Red B Maybe、True、Yes、No、Yes
我是python和pandas的新手,所以我可能会错过一些简单的东西,但我想不出这个问题的解决方案,也不确定从哪里开始寻找答案。任何帮助都将不胜感激
-Smoggs
许多不同的想法。我知道我应该使用iloc来定位单元格中的值,但我不确定如何输出它旁边的结果。我在这里真的很茫然
1条答案
按热度按时间kuhbmx9i1#
首先,如果你需要根据另一个索引列(比如这里B相对于C和D),你可以在B上使用
set_index
方法。请注意
inplace
参数,它直接对df
变量执行更改。然后,你可以使用A索引得到C和D:
请注意,我们在这里使用
loc
而不是iloc
。不同之处在于loc
将使用dataframe索引(即使使用string),而iloc
将使用底层数据数组中的位置(更多细节请参见文档here)。