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():
虽然在列号上仍然没有进展。
答案 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
希望对您有帮助!