Home > Backend Development > Python Tutorial > pandas+dataframe implements row and column selection and slicing operations

pandas+dataframe implements row and column selection and slicing operations

php中世界最好的语言
Release: 2018-04-12 09:57:35
Original
4625 people have browsed it

This time I will bring you pandas dataframe to implement row selection and slicing operations. What are the precautions for pandas dataframe to implement row selection and slicing operations? The following is a practical case, let's take a look.

The select in SQL is based on the name of the column; Pandas is more flexible. It can not only be selected based on the column name, but also based on the

position (number, in which position) the column is located. Row and column, please note that the position of pandas rows and columns starts from 0). Related functions are as follows:

1) loc, based on column label, can select specific rows (based on row index);

2) iloc, based on row/column position ;

3) at, quickly locates the elements of the DataFrame according to the specified row index and column label;

4) iat, similar to at, except that it is positioned based on position;

5) ix, a mixture of loc and iloc, supports both label and position;

Example

import pandas as pd
import numpy as np
df = pd.DataFrame({'total_bill': [16.99, 10.34, 23.68, 23.68, 24.59],
          'tip': [1.01, 1.66, 3.50, 3.31, 3.61],
          'sex': ['Female', 'Male', 'Male', 'Male', 'Female']})
# data type of columns
print df.dtypes
# indexes
print df.index
# return pandas.Index
print df.columns
# each row, return array[array]
print df.values
print df
Copy after login
sex      object
tip      float64
total_bill  float64
dtype: object
RangeIndex(start=0, stop=5, step=1)
Index([u'sex', u'tip', u'total_bill'], dtype='object')
[['Female' 1.01 16.99]
 ['Male' 1.66 10.34]
 ['Male' 3.5 23.68]
 ['Male' 3.31 23.68]
 ['Female' 3.61 24.59]]
   sex  tip total_bill
0 Female 1.01    16.99
1  Male 1.66    10.34
2  Male 3.50    23.68
3  Male 3.31    23.68
4 Female 3.61    24.59
Copy after login
print df.loc[1:3, ['total_bill', 'tip']]
print df.loc[1:3, 'tip': 'total_bill']
print df.iloc[1:3, [1, 2]]
print df.iloc[1:3, 1: 3]
Copy after login
  total_bill  tip
1    10.34 1.66
2    23.68 3.50
3    23.68 3.31
  tip total_bill
1 1.66    10.34
2 3.50    23.68
3 3.31    23.68
  tip total_bill
1 1.66    10.34
2 3.50    23.68
  tip total_bill
1 1.66    10.34
2 3.50    23.68
Copy after login

Incorrect representation:

print df.loc[1:3, [2, 3]]#.loc仅支持列名操作
Copy after login
KeyError: 'None of [[2, 3]] are in the [columns]'
Copy after login
print df.loc[[2, 3]]#.loc可以不加列名,则是行选择
Copy after login
  sex  tip total_bill
2 Male 3.50    23.68
3 Male 3.31    23.68
Copy after login
print df.iloc[1:3]#.iloc可以不加第几列,则是行选择
Copy after login
sex  tip total_bill
1 Male 1.66    10.34
2 Male 3.50    23.68
Copy after login
print df.iloc[1:3, 'tip': 'total_bill']
Copy after login
TypeError: cannot do slice indexing on <class &#39;pandas.indexes.base.Index&#39;> with these indexers [tip] of <type &#39;str&#39;>
Copy after login
print df.at[3, 'tip']
print df.iat[3, 1]
print df.ix[1:3, [1, 2]]
print df.ix[1:3, ['total_bill', 'tip']]
Copy after login
3.31
3.31
  tip total_bill
1 1.66    10.34
2 3.50    23.68
3 3.31    23.68
  total_bill  tip
1    10.34 1.66
2    23.68 3.50
3    23.68 3.31
Copy after login
print df.ix[[1, 2]]#行选择
Copy after login
  sex  tip total_bill
1 Male 1.66    10.34
2 Male 3.50    23.68
Copy after login
print df[1: 3]
print df[['total_bill', 'tip']]
# print df[1:2, ['total_bill', 'tip']] # TypeError: unhashable type
Copy after login
sex  tip total_bill
1 Male 1.66    10.34
2 Male 3.50    23.68
  total_bill  tip
0    16.99 1.01
1    10.34 1.66
2    23.68 3.50
3    23.68 3.31
4    24.59 3.61
Copy after login

# I believe you have mastered the method after reading the case in this article. Please pay attention for more exciting things. Other related articles on php Chinese website!

Recommended reading:

What are the methods for Dataframe query in pandas

selenium cookie skips the verification code login implementation step Detailed explanation

The above is the detailed content of pandas+dataframe implements row and column selection and slicing operations. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template