如何在值旁边打印行和列的索引号?

时间:2019-04-18 20:48:39

标签: excel python-3.x pandas

View Image我正在尝试打印出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.

我尝试通过循环遍历df来使用iterrows()函数,如下所示,我得到了它来打印行号和单元格值。

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

虽然在列号上仍然没有进展。

1 个答案:

答案 0 :(得分:0)

假设我的目标只是获取行,列和值(每个值), 我将其转换为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

(OR)

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

希望对您有帮助!