Python - pandas DataFrame创建、数据提取(loc、iloc)

目录

  • 1 新建一个DataFrame表
  • 2 获取列名
  • 3 获取指定列或指定行数据
  • 4 通过loc获取指定行、列的数据
  • 5 通过iloc用数字定位获取指定行、列的数据

1 新建一个DataFrame表

import numpy as np
import pandas as pd
df = pd.DataFrame([['Snow','M',22],['Tyrion','M',32],['Sansa','F',18],['Arya','F',14]], columns=['name','gender','age'])

In [35]: df
Out[35]: 
     name    gender  age
0    Snow     M       22
1    Tyrion   M       32
2    Sansa    F       18
3    Arya     F       14

2 获取列名

In [42]: df.columns
Out[42]: Index(['name', 'gender', 'age'], dtype='object')

3 获取指定列或指定行数据

格式:

1 获取列:df[‘column_name’]

2 获取行:df[row_start_index, row_end_index]

df['name'] #获取name列
df['gender'] #获取gender列
df[['name','gender']] #获取多列,多列名字要放在list里
df[0:] #获取第0行及之后的行,相当于df的全部数据
df[:2] #获取第2行之前的数据(不含第2行)
df[0:1] #获取第0行的数据
df[1:3] #获取第1行到第2行(不含第3行)的数据
df[-1:] #获取最后一行的数据
df[-3:-1] #获取倒数第3行到倒数第1行(不包含最后1行)的数据

4 通过loc获取指定行、列的数据

格式:

df.loc[index,column_name]

df.loc[0,'name'] # 获取第0行,name列的数据
df.loc[0:2, ['name','age']]#获取第0行到第2行,name列和age列的数据
df.loc[[2,3],['name','age']]#获取指定的第2行和第3行,name和age列的数据
df.loc[df['gender']=='M','name'] #获取gender列值是M,name列的数据
df.loc[df['gender']=='M',['name','age']] #获取gender列值是M,name和age列的数据

5 通过iloc用数字定位获取指定行、列的数据

在column_name特别长或者index是时间序列等各种不方便输入的情况下,可以用iloc[row_index, column_index],它完全用数字来定位。

格式:

df.iloc[row_index, column_index]

df.iloc[0,0]#获取第0行第0列的数据,'Snow'
df.iloc[1,2]#获取第1行第2列的数据,32
df.iloc[[1,3],0:2]#获取第1行和第3行,从第0列到第2列(不包含第2列)的数据
df.iloc[1:3,[1,2]#获取第1行到第3行(不包含第3行),第1列和第2列的数据

你可能感兴趣的:(机器学习,大数据,人工智能,机器学习,python,程序人生)