使用部分列名查找数据帧

2024-10-03 13:29:15 发布

您现在位置:Python中文网/ 问答频道 /正文

您好,我正在尝试使用数据框中的值从选定列中查找值。我的查找值需要识别它所选列中匹配的列名,例如下面,我只想考虑在我的VLoopUp中JT中结束的列。

数据帧示例:

^{tb1}$

结果:

^{tb2}$

示例代码:

df2['Plan_JT'].astype(str)=df2.loc[:,('Plan1_JT','Plan2_JT','Plan3_JT')].str.contains.iloc[1:5]

Tags: 数据代码示例locdf2jtplanstr
1条回答
网友
1楼 · 发布于 2024-10-03 13:29:15

使用^{}的旧版本的解决方案:

df['new'] = df.lookup(df.index, df['JT'] + '_JT')
print (df)
   Plan1_JT  Plan2_JT  Plan3_JT  Plan1_T  Plan2_T     JT  new
0        89        67        25       67       90  Plan1   89
1         9        45         7        6        5  Plan3    7
2        45         3         2        6       23  Plan1   45

对于带有^{}的最新版本:

melt = df.melt('JT', ignore_index=False)

df['new'] = melt.loc[melt['JT'] + '_JT' == melt['variable'], 'value']
print (df)
   Plan1_JT  Plan2_JT  Plan3_JT  Plan1_T  Plan2_T     JT  new
0        89        67        25       67       90  Plan1   89
1         9        45         7        6        5  Plan3    7
2        45         3         2        6       23  Plan1   45

相关问题 更多 >