How to print a specific row of a pandas DataFrame?

前端 未结 5 1243
陌清茗
陌清茗 2021-01-29 23:01

I have a massive dataframe, and I\'m getting the error:

TypeError: (\"Empty \'DataFrame\': no numeric data to plot\", \'occurred at index 159220\')

相关标签:
5条回答
  • 2021-01-29 23:20

    Use ix operator:

    print df.ix[159220]
    
    0 讨论(0)
  • 2021-01-29 23:23

    To print a specific row we have couple of pandas method

    1. loc - It only get label i.e column name or Features
    2. iloc - Here i stands for integer, actually row number
    3. ix - It is a mix of label as well as integer

    How to use for specific row

    1. loc
    df.loc[row,column]
    

    For first row and all column

    df.loc[0,:]
    

    For first row and some specific column

    df.loc[0,'column_name']
    
    1. iloc

    For first row and all column

    df.iloc[0,:]
    

    For first row and some specific column i.e first three cols

    df.iloc[0,0:3]
    
    0 讨论(0)
  • 2021-01-29 23:28

    Sounds like you're calling df.plot(). That error indicates that you're trying to plot a frame that has no numeric data. The data types shouldn't affect what you print().

    Use print(df.iloc[159220])

    0 讨论(0)
  • 2021-01-29 23:35

    If you want to display at row=159220

    row=159220
    
    #To display in a table format
    display(res.loc[row:row])
    display(res.iloc[row:row+1])
    
    #To display in print format
    display(res.loc[row])
    display(res.iloc[row])
    
    0 讨论(0)
  • 2021-01-29 23:37

    When you call loc with a scalar value, you get a pd.Series. That series will then have one dtype. If you want to see the row as it is in the dataframe, you'll want to pass an array like indexer to loc.

    Wrap your index value with an additional pair of square brackets

    print(df.loc[[159220]])
    
    0 讨论(0)
提交回复
热议问题