热门标签:
Q:

如何使用python获取值的excel单元格/行号?

原网址
A:

请记住,pandas dataframes的索引是从零开始的,excel工作表的行号是从一开始的,因此,如果您想用pandas解决这个问题

df["index"] = df.index.astype(int) + 1

是正确的。 但是,请注意,您的问题中的图片显示了excel工作表的一部分,其中应用了活动过滤器。 此处提供的解决方案仅适用于excel中的数据未过滤的情况。

更新以回应第一条评论

您还可以在中指定值。isin并使用以下代码(不漂亮)获取它们在索引和列方面的位置:

import pandas as pd

df = pd.DataFrame((
    (2, 5, 8),
    (20, 5, 772),
    (0, 20, 5),
    (2, 0, 0),
    (76, 35, 66),
    (23, 21, 29),
    (5, 55, 88),
    (44, 23, 5),
    (1, 2, 3),
    ), columns=["a", "b", "c"])

cols = df.columns.to_list()
for col in cols:
    filt = df[col].isin([5, 2])
    df_x = df.loc[filt]
    for row, vals in df_x.iteritems():
        for val in vals.index:
            print(f"index:{val:4}     column:  {col}")

所有回答

共 1 条

author avatar

我认为获取索引行的最简单的解决方案是使用此命令:

df["index"] = df.index.to_list()

将使用索引值创建一个新列。 因此,您可以根据需要使用此列进行格式化。

index
1
2
6
7
10
12

相似问题