pandas中选取行,列数据有三种索引方法:.

  • loc
  • .iloc
  • []


文章目录

  • 一.[ ]的使用
  • 二.loc[ ]的使用
  • 二.iloc[ ]的使用


注意:.ix的用法在0.20.0中已经不建议使用了!
首先,创建一个DataFrame:

import pandas as pd
import numpy as np
data = pd.DataFrame(np.random.randn(8, 4),index=list("abcdefgh"),columns=['A','B','C','D'])
print(data))

输出为:

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_标签名

一.[ ]的使用

使用[ ]选取数据只能传入一个参数,就是列标签名,所以这种方法只能选取列数据.

  • 1.1.一个列标签作为参数,选取某一列

print(data[‘A’])
a -0.314230
b 1.673732
c -0.404464
d -0.245632
e -3.341850
f -0.872869
g -0.039912
h 1.830474
Name: A, dtype: float64

  • 1.2.多个列标签组成列表作为参数,选取多列

print(data[[‘A’,‘B’]])

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_python_02

  • 1.3.筛选符合条件的行

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_数据_03

二.loc[ ]的使用

.loc主要是基于标签(label)的,包括行标签(index)和列标签(columns),即行名称和列名称,可以使用df.loc[index_name,col_name],选择指定位置的数据,其它的用法有:

  • 2.1.使用单个标签,如果.loc[]中只有单个标签,那么选择的是某一行。

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_标签名_04

  • 2.2.使用多个标签组成的列表,选择多行 。

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_python_05

  • 2.3.标签的切片对象:与通常的python切片不同,在最终选择的数据中包含切片的start和stop

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_数据_06

  • 2.4.传进2个参数,同时选择行和列

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_标签名_07

  • 2.5.选择满足某个条件的行

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_python_08

二.iloc[ ]的使用

iloc是基于位置的索引,利用元素在各个轴上的索引序号进行选择,序号超出范围会产生IndexError,切片时允许序号超过范围,其功能和loc[ ]是相同的,只不过将参数由行列标签的值变为行列的数字索引值。

  • 2.1.使用单个标签,如果.loc[]中只有单个标签,那么选择的是某一行。

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_python_09

  • 2.2.使用多个标签组成的列表,选择多行 。

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_python_10

  • 2.3.标签的切片对象:与通常的python切片不同,在最终选择的数据中包含切片的start和stop

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_标签名_11

  • 2.4.传进2个参数,同时选择行和列

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_数据_12

  • 2.5.选择满足某个条件的行

python pandafram 通过某列键值 获取同一行另一列键值 python pandas选取一列_标签名_13