数据抽取.
DataFrame对象的loc属性与iloc属性.
loc属性
以列名(columns)和行名(index)作为参数,当只有一个参数时,默认是行名,即抽取整行数据,包括所有列。
iloc属性
以行和列位置索引(即:0,1,2,.)作为参数,0表示第一行,1表示第2行,以此类推。当只有一个参数时,默认是行索引,即抽取整行数据,包括所有列。
------------------------------------------------------------------------------------------------------------------------
#按行提取
import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)
data=[[45,65,100],[56,45,50],[67,67,67]]
index=['张三','李四','王五']
columns=['数学','语文','英语']
df=pd.DataFrame(data=data,index=index,columns=columns)
print(df)
#提取行数据
print(df.loc['张三']) #行索引名称
print(df.iloc[0]) #行索引的编号
print('3.-------------提取多行数据------两个[]-----------------')
print(df.loc[['张三','王五']]) #行索引名称
print(df.iloc[[0,2]]) #行索引的编号
print('-4------------提取连续多行数-----------------------')
print(df.loc['张三':'王五'])
print('--5---------------------------------')
print(df.iloc[0:2])
print('---6--------------------------------')
print(df.iloc[1::]) #iloc[start:stop:step]
print('---7--------------------------------')
print(df.iloc[::2]) #iloc[start:stop:step] 步长为2,取出0,2
数学 语文 英语 张三 45 65 100 李四 56 45 50 王五 67 67 67 数学 45 语文 65 英语 100 Name: 张三, dtype: int64 数学 45 语文 65 英语 100 Name: 张三, dtype: int64 3.-------------提取多行数据------两个[]----------------- 数学 语文 英语 张三 45 65 100 王五 67 67 67 数学 语文 英语 张三 45 65 100 王五 67 67 67 -4------------提取连续多行数----------------------- 数学 语文 英语 张三 45 65 100 李四 56 45 50 王五 67 67 67 --5--------------------------------- 数学 语文 英语 张三 45 65 100 李四 56 45 50 ---6-------------------------------- 数学 语文 英语 李四 56 45 50 王五 67 67 67 ---7-------------------------------- 数学 语文 英语 张三 45 65 100 王五 67 67 67
#按列提取
import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)
data=[[45,65,100],[56,45,50],[67,67,67]]
index=['张三','李四','王五']
columns=['数学','语文','英语']
df=pd.DataFrame(data=data,index=index,columns=columns)
print(df)
print('1.------- #直接使用列名提取 标签-----------------')
print(df[['数学','英语']]) #直接使用列名提取
print('2----------提取不连续的列 标签------------------')
print(df.loc[:,['数学','英语']]) #逗号号的左侧表示的是行,石侧表示的是列,所有行的,数字和英语
print('3-------------提取不连续的列 隐式索引---------------')
print(df.iloc[:,[0,2]])
print('4--------------提取连续的列 标签-------------')
print(df.loc[:,'语文':])
print('5--------------提取连续的列 隐式索引--------------')
print(df.iloc[:,1:])
数学 语文 英语 张三 45 65 100 李四 56 45 50 王五 67 67 67 1.------- #直接使用列名提取 标签----------------- 数学 英语 张三 45 100 李四 56 50 王五 67 67 2----------提取不连续的列 标签------------------ 数学 英语 张三 45 100 李四 56 50 王五 67 67 3-------------提取不连续的列 隐式索引--------------- 数学 英语 张三 45 100 李四 56 50 王五 67 67 4--------------提取连续的列 标签------------- 语文 英语 张三 65 100 李四 45 50 王五 67 67 5--------------提取连续的列 隐式索引-------------- 语文 英语 张三 65 100 李四 45 50 王五 67 67
浙公网安备 33010602011771号