大淘客可以做几个网站,免费的网页设计成品详解,主流大型网站开发语言调查,wordpress知更鸟最新破解SQL中的select是根据列的名称来选取#xff1b;Pandas则更为灵活#xff0c;不但可根据列名称选取#xff0c;还可以根据列所在的position#xff08;数字#xff0c;在第几行第几列#xff0c;注意pandas行列的position是从0开始#xff09;选取。相关函数如下#xf…SQL中的select是根据列的名称来选取Pandas则更为灵活不但可根据列名称选取还可以根据列所在的position数字在第几行第几列注意pandas行列的position是从0开始选取。相关函数如下
1loc基于列label可选取特定行根据行index
2iloc基于行/列的position
3at根据指定行index及列label快速定位DataFrame的元素
4iat与at类似不同的是根据position来定位的
5ix为loc与iloc的混合体既支持label也支持position
实例
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
sex object
tip float64
total_bill float64
dtype: object
RangeIndex(start0, stop5, step1)
Index([usex, utip, utotal_bill], dtypeobject)
[[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
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]
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
错误的表示
print df.loc[1:3, [2, 3]]#.loc仅支持列名操作
KeyError: None of [[2, 3]] are in the [columns]
print df.loc[[2, 3]]#.loc可以不加列名则是行选择
sex tip total_bill
2 Male 3.50 23.68
3 Male 3.31 23.68
print df.iloc[1:3]#.iloc可以不加第几列则是行选择
sex tip total_bill
1 Male 1.66 10.34
2 Male 3.50 23.68
print df.iloc[1:3, tip: total_bill]
TypeError: cannot do slice indexing on with these indexers [tip] of
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]]
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
print df.ix[[1, 2]]#行选择
sex tip total_bill
1 Male 1.66 10.34
2 Male 3.50 23.68
print df[1: 3]
print df[[total_bill, tip]]
# print df[1:2, [total_bill, tip]] # TypeError: unhashable type
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
print df[1:3,1:2]
TypeError: unhashable type
总结
1.loc,.iloc,.ix,只加第一个参数如.loc([1,2]),.iloc([2:3]),.ix[2]…则进行的是行选择
2.loc,.at选列是只能是列名不能是position
3.iloc,.iat选列是只能是position不能是列名
4df[]只能进行行选择或列选择不能同时进行列选择列选择只能是列名。
以上这篇python pandas dataframe 行列选择,切片操作方法就是小编分享给大家的全部内容了希望能给大家一个参考也希望大家多多支持我们。
本文标题: python pandas dataframe 行列选择,切片操作方法
本文地址: http://www.cppcns.com/jiaoben/python/224997.html