【问题标题】:User-defined function to print line when ID is entered用户自定义功能,输入 ID 时打印行
【发布时间】:2019-01-27 07:07:57
【问题描述】:
df= pd.read_csv('portfolios.csv') 
df1 = df.set_index('id');df
df1

大家好,我不知道如何开始。我在这里附上了一张图片。请问我如何定义一个用户函数,我输入id,我会得到整行?

感谢你们的帮助。问题:

【问题讨论】:

    标签: python pandas portfolio


    【解决方案1】:

    DataFrame 用于一行loc 与双[]Series 仅使用一个[]

    df = pd.DataFrame({'id':[1,2,3,4,5,6],
                       'B':[4,5,4,5,5,4],
                       'C':[7,8,9,4,2,3],
                       'D':[1,3,5,7,1,0],
                       'E':[5,3,6,9,2,4],
                       'F':list('aaabbb')})
    
    df1 = df.set_index('id')
    print (df1)
        B  C  D  E  F
    id               
    1   4  7  1  5  a
    2   5  8  3  3  a
    3   4  9  5  6  a
    4   5  4  7  9  b
    5   5  2  1  2  b
    6   4  3  0  4  b
    

    def get_line1(x, val):
        row = x.loc[[val]]
        return row
    
    def get_line2(x, val):
        row = x.loc[val]
        return row
    

    out = get_line1(df1, 5)
    print (out)
        B  C  D  E  F
    id               
    5   5  2  1  2  b
    
    out = get_line2(df1, 5)
    print (out)
    B    5
    C    2
    D    1
    E    2
    F    b
    Name: 5, dtype: object
    

    【讨论】:

    • 你好,Jez,你能举个例子吗?非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多