在Pandas中查找列名,该列名在另一列的行中包含特定值

克里斯多夫

我有200多列,每行10000多行。我试图找到在行中包含特定值的列的名称。在下面的示例中,特定值在值列中。我如何在“值”列中标识值并不重要。

示例:Value_Col是我尝试返回的值。

Date   Time  A     B     C     D     E     F     Value   Value_Col
Jan1   1245  3.0   3.2   4.6   5.7   2.1   8.0   5.7     D
Jan2   1045  4.5   8.4   3.9   2.2   9.4   8.3   3.9     C
Jan3   1350  1.4   3.3   4.5   8.9   1.4   0.4   1.4     A

我只想搜索A到F列,并找到该值存在的第一个实例(最左边)的列名。在示例中,我的兴趣值在从“日期1月3日”开始的行中出现两次。我想基本上索引值出现的列名称,然后选择第一个。我了解这将基于为值搜索返回的列表为索引0(或[0])。

上面的示例只是一小部分数据。我目前有一个所有列名的列表,我希望在其中进行值搜索。感兴趣的值可以通过同一行中的许多列出现。

ky

我只想搜索A到F列,并找到该值存在的第一个实例(最左侧)的列名

您可以在将列与datframe的切片进行比较后使用idxmaxon (使用axis=1Value.loc[]

df['Value_Col'] = df.loc[:,'A':'F'].isin(df['Value']).idxmax(1)
print(df)

   Date  Time    A    B    C    D    E    F  Value Value_Col
0  Jan1  1245  3.0  3.2  4.6  5.7  2.1  8.0    5.7         D
1  Jan2  1045  4.5  8.4  3.9  2.2  9.4  8.3    3.9         C
2  Jan3  1350  1.4  3.3  4.5  8.9  1.4  0.4    1.4         A

如果有机会该列中都不包含该df['Value]值,则可以使用:

m = df.loc[:,'A':'F']
df['Value_Col'] = m.isin(df['Value']).dot(m.columns).str[0]

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从特定列中查找最大行数并从另一列中提取列名和相应的行值

PySpark-如何使用一列中的行值访问与该列名称同名的另一列

提取另一列中列出的熊猫中特定列名称的值

熊猫:提取列值,其中列名与另一列中的行值匹配

如何将非零列名作为Pandas中另一列的值

选择值大于pandas中另一列的所有列名称

将重复的值作为新数据框中的列名,将行作为另一列中的对应值

查找特定列的最大值,但在 Pandas 中返回另一列

获取列名,该列名在python pandas的任何行中都包含特定值

如何获取特定索引处的列名并使用 python 和 pandas 将其打印到另一列中

熊猫使用由列名组成的列将值动态填充到另一列中

熊猫:如果列名存在于另一列中,则用1填充列值

如果某列不包含同一行中另一列的值,则将新列pandas中另一列的值添加

按列名称分组->该列中的特定值

在R data.table中,根据另一列的值乘以列名

SAS-使用另一列中的值动态创建列名

将NA替换为具有相应列名称的另一列中的值

在某一列中求和,以得出另一列中包含相同值的行

在另一列中查找一列的值

根据另一列中的一列查找行值并进行计算

在Pandas df行中查找值并返回列名

添加一列,该列包含R中某个小标题的特定列的缺失值

在知道另一列中的元素值的情况下获取同一行中的数据(两列名称都已知)

根据另一列中的变量将Pandas中的值分配给该列

R:在满足条件的行中查找一个值,向该值添加某些数字,然后在该行的另一列中创建一条消息

Pandas - 通过在另一列中查找一列的值来创建一列

在每一行中查找值大于零的列名

从另一列中查找包含特定字符串的列

获取在熊猫中包含特定值的列名