Как скопировать колонку 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