Я получил следующий код:Python: добавить решение столбца из строки (панды)
import pandas as pd
import numpy as np
df = pd.DataFrame({'Var1': np.random.rand(10), 'Var2': np.random.rand(10)})
cuts = 'Var1 < 0.8 & Var2 < 0.8'
То, что я хочу добавить столбец, называемый 'Decision'
, который проверяет, является ли условие разрезов True
или False
. Следующий код в точности то, что я хочу:
df["Decision"] = np.logical_and(df.Var1 < 0.8, df.Var2 < 0.8)
Если я так, мне нужно, чтобы преобразовать строку в df.foo
методов, кажется, довольно трудно для меня из-за мои ничтожные навыки регулярных выражений ... Есть ли возможность для достижения того, что я хочу прямо из строки?
Заранее благодарен!
Да, это похоже на приятное решение. Но как преобразовать '' (Var1 <0,8) & (Var2 <0,8) "' в '(df ['Var1'] <0,8) & (df ['Var2'] <0,8)'? – Timon
Вы можете сделать 'df.query (cuts)', но это вернет только положительные строки, но вы можете использовать это, чтобы установить значения столбца, я обновлю, чтобы показать вам – EdChum