Используйте значение столбца, чтобы найти имя столбца - PullRequest
0 голосов
/ 13 июля 2020

У меня есть фрейм данных:

import pandas as pd 

data = {"name": ["a", "b", "c"], "1": [0.65, 0.001, None], "2": [0.02, 0.0011, 1.2], "3": [0.12, 0.231, 55.2], "index": [1, 2, 3]}

df = pd.DataFrame (data, columns = ['name', '1', '3', '2', "index"])

И если значение «индекса» для строки совпадает с именем столбца, тогда добавьте имена столбцов, соответствующие значению, в новый фрейм данных. Например, для первой строки «a» индекс равен 1, поэтому затем добавьте значение столбца «1» 0,65 в новый фрейм данных.

Я изо всех сил пытаюсь объяснить это, но это то, что я wi sh, чтобы получить:

data2 = {"name": ["a", "b", "c"], "val": [0.65, 1.2, 0.231]}

df2 = pd.DataFrame (data2, columns = ['name', 'val'])

1 Ответ

1 голос
/ 13 июля 2020

Попробуем lookup

df['val']=df.lookup(df.index,df['index'].astype(str))
df
Out[116]: 
  name      1       3       2  index      val
0    a  0.650   0.120  0.0200      1   0.6500
1    b  0.001   0.231  0.0011      2   0.0011
2    c    NaN  55.200  1.2000      3  55.2000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...