Как скопировать колонку DataFrame в переменную без нулей?

Есть объект DataFrame заполненный значениями numpy.int64. Нужно скопировать одну из его колонок с названием ETRN в переменную, но исключить из копии все нулевые значения.

Пример кода:

import pandas as pd

d = {"ETRN":pd.Series([0, 2.2, 3.4, 0, 12.3], index=['1', '2', '3', '4', '5']), 
"num": pd.Series([10, 12, 7, 2.1, 22], index=['1', '2', '3', '4', '5'])}

df = pd.DataFrame(d)

copy = df['ETRN'] #так получается полная копия колонки, а нужно без нулей

print(df)

Ответы (1 шт):

Автор решения: MaxU
In [9]: copy = df.loc[df["ETRN"] != 0, "ETRN"].to_numpy()

In [10]: copy
Out[10]: array([ 2.2,  3.4, 12.3])

если в итоге нужно получить Pandas Series:

In [11]: copy = df.loc[df["ETRN"] != 0, "ETRN"]

In [12]: copy
Out[12]:
2     2.2
3     3.4
5    12.3
Name: ETRN, dtype: float64
→ Ссылка