【问题标题】:I am having difficulty finding the unique multi index tuple of my dataframe我很难找到我的数据框的唯一多索引元组
【发布时间】:2022-01-20 07:02:02
【问题描述】:

我很难找到我的数据帧的唯一多索引元组。

np.random.seed(0)
df = pd.DataFrame(np.random.randint(0,100,size=(100, 5)), columns=list('ABCDF'))
df = df.set_index(['A','B','C'])
print(df)

我需要找到第 n 行索引,即 A、B、C 中的值。

然后,我选择的这个元组将用于查询一个似乎工作正常的单独 df。

任何帮助将不胜感激

【问题讨论】:

    标签: python pandas multi-index


    【解决方案1】:

    你可以使用:

    df.index[n]
    

    第五行 (n=4) 的示例:

    (81, 37, 25)
    

    【讨论】:

    • 是的 - 有效。这非常简单。谢谢!
    【解决方案2】:

    @MatthewHooper,在 pandas 中获取第 n 个索引的值使用 index 方法 获取第 n 列的值使用 iloc 方法 例如

    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame(np.random.randint(0,100,size=(100,5)), columns=list('ABCDF'))
    
    # Set index using column
    df = df.set_index(['A','B','C'])
    
    

    打印前 5 个值

    print(df.head(5))
    

    输出

               D   F
    A  B  C         
    19 32 44  43  94
    32 1  76  79   4
    2  96 76  80  77
    68 67 42  87  50
    20 68 14   4   9
    

    查找第 5 行索引

    print(df.index[4])
    

    输出

    (20, 68, 14)
    

    查找第 5 列值

    print(tuple(df.iloc[4]))
    

    输出

    (4, 9)
    

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    相关资源
    最近更新 更多