pandas dataframe中的数据选择2
2019-01-05 本文已影响129人
筝韵徽
import pandas as pd
import numpy as np
使用.loc 选择数据
df=pd.read_csv('data/sample_data.csv',index_col=0)
df

类似切片范围选择
- 行范围选择
df.loc['Jane':'Dean']

df.loc[:'Christina']

df.loc[:'Christina':2]

df.loc['Dean':]

- 使用.loc选择行,列数据
.loc[rowindexes,columnindexes] 其中rowindexes为行索引名称数组,columnindexes为列名称数组列表,如果单行,单列可以省略[]方括号
- 选择两行['Niko','Dean'],一列'age'
df.loc[['Niko','Dean'],'age']
Niko 2
Dean 32
Name: age, dtype: int64
- 选择一行一列即单元格Niko,age 对应的数据
df.loc['Niko','age']
2
- 选择多行多列
df.loc[['Niko','Dean'],['food','color']]

- 选择所有行,两列
df.loc[:,['food','color']]

- 行步长为2即各行选择,2列
df.loc[::2,['food','color']]

- 行步长为2,列步长为2
df.loc[::2,::2]

- 选择两行,所有列
df.loc[['Niko','Dean'],:]

- 选择两行,列从开头到age
df.loc[['Niko','Dean'],:'age']

- 选择2行,列步长为2
df.loc[['Niko','Dean'],::2]

rows=['Jane','Niko','Dean']
cols=['state','age','height']
df.loc[rows,cols]

.loc 总结
- 只能使用index名(行列) 选择数据
- 能选择行列数据
- 即可以单个索引名称,也可多个,也可切片
- .loc[rowindexnames ,columnindexnames] rowindexnames 行索引名称列表,columnindexnames 列索引名称列表