Как напечатать индексные номера строк и столбцов вместе со значениями? - PullRequest
1 голос
/ 18 апреля 2019

Просмотр изображения Я пытаюсь распечатать края данных в файле Excel.Я получил значения для печати.Но я не могу напечатать индексы строк и столбцов из-за зацикливания по фрейму данных.

Я попытался распечатать, используя df.index, но диапазон строк выдается следующим образом: 5.0 RangeIndex(start=4, stop=30, step=1) где 5это значение ребра, а последнее является индексом.

    df = wb.iloc[rows, coln].fillna(0)
    dfa = df.to_numpy()
    for row in dfa:
        for value in row:
            if value!=0:
                print(value, df.index)
                break
This is the expexted result.

5 11 15.0

where 5 is the row number, 11 is the column number and 15.0 is the value on that cell.

Я попытался использовать функцию iterrows (), циклически изменяя df следующим образом иЯ получил его, чтобы распечатать номера строк вместе со значениями ячеек.

df = wb.iloc[rows, coln].fillna(0)
    for index, row in df.iterrows():

По номерам столбцов пока нет прогресса.

1 Ответ

0 голосов
/ 19 апреля 2019

Предполагая, что моей целью является просто получить строку, столбец и значение (для каждого значения), Я бы преобразовал его в массив numpy и применил бы ndenumerate (), как показано ниже:

import pandas as pd
import numpy as np

d = [[1,2],[3,4],[5,6]] #Assuming my data looks like d
df = pd.DataFrame(d)
na = np.array(df)

for index, value in np.ndenumerate(na):
  print(index, value)

(0, 0) 1
(0, 1) 2
(1, 0) 3
(1, 1) 4
(2, 0) 5
(2, 1) 6

(ИЛИ)

for index, value in np.ndenumerate(na):
  print(index[0], index[1], value)


0 0 1
0 1 2
1 0 3
1 1 4
2 0 5
2 1 6

Надеюсь, это поможет!

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