Как получить только значение из «значения индекса dtype» в пандах? - PullRequest
0 голосов
/ 09 марта 2019

У меня есть код ниже:

df = pd.DataFrame(np.array([0.1,0.2,0.3,0.4,0.5]).reshape(1,5))

z=[]
z = z + [((-np.log(df)).replace(np.inf, 0)).sum(axis=1)]

print(z)

Я получаю вывод z, как показано ниже:

[0    6.725434
 dtype: float64]

Как я могу получить только это:

[6.725434]

Ответы [ 3 ]

1 голос
/ 09 марта 2019

, поскольку [0 6.725434 dtype: float64]

дает индекс, значение и dtype, чтобы получить доступ к значению, которое вы хотите сделать print (z [0] [0])

1 голос
/ 09 марта 2019

Добавить iloc в конце, сделать вывод только для значения, а не pandas object

df = pd.DataFrame(np.array([0.1,0.2,0.3,0.4,0.5]).reshape(1,5))
z=[]
z = z + [((-np.log(df)).replace(np.inf, 0)).sum(axis=1).iloc[0]]
z
Out[92]: [6.725433722188182]
0 голосов
/ 10 марта 2019
-np.log(df).sum(axis=1).values[0]

или

-np.log(df).sum(axis=1).iloc[0]

Вам не нужно заменять nan для функции панд sum.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...