当前位置: 首页 > 知识库问答 >
问题:

如果列名与引用列匹配,Python将打印列名

干茂才
2023-03-14

如果每行的“b”或“c”匹配(等于)“a”,我正在尝试在新列“结果”中打印列名。

这是一个例子,我有10多个列名。

我的df是这样的:

   a   b   c
a  0   1   2
b  4   4   5
c  6   7   6
d  9   9  11

预期结果:

   a   b   c   result
a  0   1   2      NaN 
b  4   4   5        b
c  6   7   6        c
d  9   9  11        b

共有1个答案

公冶俊达
2023-03-14

比较 b/ca(带等式)时使用 idxmax

此外,使用掩码(使用<code>来确保至少有一个有效匹配,因为<code>idxmax</code>如果未找到True,将返回第一个假索引:

m = df[['b', 'c']].eq(df['a'], axis=0)

df['result'] = m.idxmax(1).where(m.any(1))

输出:

   a  b   c result
a  0  1   2    NaN
b  4  4   5      b
c  6  7   6      c
d  9  9  11      b

中间 m

       b      c
a  False  False
b   True  False
c  False   True
d   True  False
 类似资料:
  • 假设我有一个df: 如何获取所有列名,但不包括名称与,匹配的列名,

  • HLOJ 9525,习题3-5 栈序列匹配 题目描述 对于给出的入栈序列和出栈序列,判断这两个序列是否相容,即能否利用栈操作将入栈序列转换为出栈序列。若相容,则输出yes,否则输出no。要求在判断栈序列的匹配过程中,给出入栈、出栈的过程。 输入格式: 首先输入一个整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据输入用一个空格分隔的两个字符串(两个串的长度可能不一样,长度均不超过10),

  • 问题内容: 考虑使用此Python代码来打印逗号分隔值列表 如果列表中的最后一个元素是不显示逗号的首选打印方法。 前 问题答案:

  • 问题内容: 我正在尝试从DbgView日志文件中删除前两列(我对此不感兴趣)。我似乎找不到从第3列开始直到行尾打印的示例。请注意,每行都有可变的列数。 问题答案: …或更简单的解决方案: 只需添加正确的定界符(-d),您将获得相同的效果。

  • 我的任务是: 制作几本字典,每本字典的名字都是一只宠物的名字。在每本字典中,包括动物的种类和主人的名字。将这些字典存储在一个名为宠物的列表中。接下来,循环浏览你的列表,然后打印你所知道的关于每只宠物的一切。 到目前为止我所拥有的: 迄今为止的产出: 宠物名称:类型:狗宠物主人:乔 宠物名称:类型:猫宠物主人:盖尔 宠物名称:类型:鸟宠物主人:保罗 宠物名称:类型:蛇宠物主人:斯坦 我的问题: 我需

  • 当我通过一个特定方面进行过滤时,该特定字段的方面在结果中被正确过滤,但其他方面的字段保持不变。解释这一点的最佳方法是使用查询和响应。 因此,如您所见,它返回所有方面,即使唯一的结果位于Eugene。它还返回的计数7。为什么它会返回所有这些额外的方面和错误的计数?下面是我的ruby映射。